我有一个div
<div class="Itm_discrp" style="display:block;">
<h3>Applle Drink</h3>
Hai i am very tasty
</div>
我需要将文字取为“海我非常好吃”
我尝试了如下所示
var item_description = $(this).closest('.lastItm_Wrap').find('.Itm_discrp h3').text().trim();
但我得到了Applle Drink
在这种情况下,请你告诉我如何获取文字“Hai i is very tasty”而不是“Applle drink”
答案 0 :(得分:7)
这是一个文本节点,因此您可以获取h3元素的nextSibling,然后获取其内容
var item_description = $('.Itm_discrp h3')[0].nextSibling.nodeValue.trim();
演示:Fiddle
答案 1 :(得分:3)
组合.contents().filter()
:
var text = $('.Itm_discrp').contents().filter(function(){
return this.nodeType == 3;
}).text();
alert(text);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="Itm_discrp" style="display:block;">
<h3>Applle Drink</h3>
Hai i am very tasty
</div>
&#13;
答案 2 :(得分:1)
Yu也可以尝试这个jquery代码:
var item_description = $('.Itm_discrp').contents().eq(2).text();
请参阅Fiddle Demo
contents() - 获取匹配元素集中每个元素的子元素,包括文本和注释节点。
eq() - 将匹配元素集减少到指定索引处的元素。