我有这段代码:
<div class="bodytext1typeenc">Ce qu’il faut retenir
<div class="al">Budget «solidarités».</div>
</div>
我想只获得“Ce qu'il faut retenir”。我试过这个:
$('.bodytext1typeenc').text() // --> doesn't work.
$('.bodytext1typeenc').remove('.al') // --> doesn't work.
请帮忙吗?谢谢!
答案 0 :(得分:5)
您可以克隆,删除子项并获取文本。见下文,
var $clone = $('.bodytext1typeenc').clone();
$clone.children().remove()
$clone.text(); //should return the div's text
注意:如果您不想保留原始内容,则无需克隆。
答案 1 :(得分:1)
嘿试试这个而不是你要做的就是克隆你的元素然后删除你的子元素
$(".bodytext1typeenc")
.clone() //clone the element
.children() //select all the children
.remove() //remove all the children
.end() //again go back to selected element
.text();
如果你要使用这个很多,你可以像这样创建一个简单的扩展
jQuery.fn.noChild= function() {
return $(this).clone()
.children()
.remove()
.end()
.text();
};
然后运行
$(".bodytext1typeenc").noChild();
答案 2 :(得分:0)
您可以使用contents()并过滤掉noteType TEXT_NODE(3)
var val = $('.bodytext1typeenc').contents().filter(function() {
return this.nodeType == 3;
}).text();
val = $.trim(val);
alert('"' + val + '"'); // "Ce qu’il faut retenir"