给定以下元素层次结构:
使用jQuery,如何从带有id up_tag_div的父div
元素中获取文本abc
如果我简单地使用$('#up_tag_div').text()
,则得到的文本是abcdef。不是我想要的。
发布于 2015-10-16 19:47:27
你可以做到的
$("#up_tag_div").clone().children()
.remove().end().text();
发布于 2015-10-16 19:55:43
如果文本内容总是先于任何子内容,则可以这样做:
$('#up_tag_div').contents()[0].textContent
console.log($('#up_tag_div').contents()[0].textContent);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="up_tag_div">
"abc"
<div>def</div>
<div>
<br>
</div>
</div>
如果文本不一定出现在任何孩子之前:
$('#up_tag_div')
.contents()
.filter(function() {
return !this.tagName //skip elements
})
.text()
.trim()
console.log($('#up_tag_div').contents().filter(function() {return !this.tagName}).text().trim());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="up_tag_div">
<div>def</div>
"abc"
<div>
<br>
</div>
</div>
https://stackoverflow.com/questions/33178429
复制相似问题