2016-09-28 8 views
0

リンクはこちらです。 http://heart.bmj.com/content/early/2016/08/10/heartjnl-2016-310003.longjavascriptを使ってスパン内部のテキストを取得するには?

私は持っています。

<span class="cit-title"> 
    <span class="cit-series-title">Original article 
     <span class="cit-sep cit-sep-after-article-series-title">:</span> 
    </span>Pregnancy outcomes in patients with pulmonary arterial hypertension associated with congenital heart disease 
</span> 

私はこれまで何をしましたか?

私はspan.cit-titleを選択するが、それはinnerText

は私を与えるのです。

"Original article: Pregnancy outcomes in patients with pulmonary arterial hypertension associated with congenital heart disease" 

私だけ

"Pregnancy outcomes in patients with pulmonary arterial hypertension associated with congenital heart disease"` 

一部を取得したいです。

クラスcit-series-titleのスパンを除外して生のテキストを取得するにはどうすればよいですか?

+3

これはhttp://stackoverflow.com/questions/6520192/get-text-node-of-an-elementの複製です。あなたはそこにあなたの答えを見つけるでしょう。 – Max

+0

には本当に必要なスパンがたくさんありますか? – vamsi

+0

私はhtmlを解析しようとします。だから私はスパンの作者ではない。 :) – user6468132

答えて

-1

私はよりよい解決策は、このような別のスパン内の他のテキストをラップすることだと思う:代わりに容器を形成

<span class="cit-title"> 
 
    <span class="cit-series-title">Original article<span class="cit-sep cit-sep-after-article-series-title">:</span> </span><span class="cit-series-description">Pregnancy outcomes in patients with pulmonary arterial hypertension associated with congenital heart disease</span> </span>

そして、あなたは.cit-series-descriptionから内部テキストを取得します。

乾杯

0

必要なテキストは.cit-series-titleの次の兄弟です。その要素を選択し、javacript Node.nextSiblingを使用して次の兄弟テキストを取得することができます。

var text = $(".cit-title > .cit-series-title")[0].nextSibling.textContent; 
 
console.log(text);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span class="cit-title"> 
 
    <span class="cit-series-title">Original article 
 
     <span class="cit-sep cit-sep-after-article-series-title">:</span> 
 
    </span>Pregnancy outcomes in patients with pulmonary arterial hypertension associated with congenital heart disease 
 
</span>

0

最初...タイトルのみテキストを取得、その後... ...

var titleText = $('.cit-title .cit-series-title').text(); 

var wholeElementText = $('.cit-title').text(); 

を全体cit-title要素の内容を得ることができます

...および次には、それが動作します、その後A.replace(B, '');好きspan.cit-titleからwholeElementText

var justThePartYouWant = wholeElementText.replace(titleText, ''); 
0

選択データからtitleTextを削除し、変数Aにそれを保存し、span.cit-series-titleからデータを選択し、変数B

にそれを保存する

0

alert($(".cit-title").clone()  
 
      .children() 
 
      .remove() 
 
      .end()  
 
      .text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span class="cit-title"> 
 
    <span class="cit-series-title">Original article 
 
     <span class="cit-sep cit-sep-after-article-series-title">:</span> 
 
    </span>Pregnancy outcomes in patients with pulmonary arterial hypertension associated with congenital heart disease 
 
</span>

0

不要な要素を削除してテキストを取得するために、divを一時変数に格納します。

var div = $(".cit-title").clone(); 
div.find("span").first().remove(); 
div.text(); 
関連する問題