[英]How to get the inner Text inside span using javascript?
链接在这里; http://heart.bmj.com/content/early/2016/08/10/heartjnl-2016-310003.long
我有;
<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
排除span并获取原始文本?
您想要的文本是.cit-series-title
下一个兄弟。 您可以选择该元素,然后使用javascript 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>
您可以首先获取整个cit-title
元素的内容...
var wholeElementText = $('.cit-title').text();
...然后只获得标题文字...
var titleText = $('.cit-title .cit-series-title').text();
... 然后从整个wholeElementText
删除titleText
var justThePartYouWant = wholeElementText.replace(titleText, '');
从span.cit-title
选择数据并将其存储到变量A
,然后从span.cit-series-title
选择数据并将其存储到变量B
然后像A.replace(B, '');
它会工作
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>
我会将div存储在一个临时变量中,以删除不需要的元素并获取文本。
var div = $(".cit-title").clone();
div.find("span").first().remove();
div.text();
我认为更好的解决方案是将其他文本包装在另一个跨度中,如下所示:
<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
获取内部文本,而不是从容器中获取。
干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.