例如我们有这个文件
<div id="mydiv">
some text here
<div id="inner div">
text for inner div
</div>
</div>
我只需要使用如下代码获取#mydiv
文本:
alert($('#mydiv').text()); // will alert "some text here"
例如我们有这个文件
<div id="mydiv">
some text here
<div id="inner div">
text for inner div
</div>
</div>
我只需要使用如下代码获取#mydiv
文本:
alert($('#mydiv').text()); // will alert "some text here"
嘿,请试试这个”:http: //jsfiddle.net/MtVxx/2/
此处针对您的具体案例的好链接:http: //viralpatel.net/blogs/jquery-get-text-element-without-child-element/(这只会获取元素的文本)
希望这可以帮助,:)
代码
jQuery.fn.justtext = function() {
return $(this).clone()
.children()
.remove()
.end()
.text();
};
alert($('#mydiv').justtext());
目前接受的答案在性能方面非常糟糕,所以我觉得有必要写一个更轻量级的答案:
$.fn.mytext = function() {
var str = '';
this.contents().each(function() {
if (this.nodeType == 3) {
str += this.textContent || this.innerText || '';
}
});
return str;
};
console.log($('#mydiv').mytext());
像Ja͢ck 的回答一样,但不需要显式迭代(通过 .each())和收集textContent
s:
$('#mydiv').contents().filter(function(){return this.nodeType === 3}).text()
或者,如果您可以使用箭头函数:
$('#mydiv').contents().filter((i, el) => el.nodeType === 3).text()