如何仅使用jQuery选择“某些文本”?
<p class="a">some text<a href="">some other text</a></p>
上面是代码。
我猜$('p.a').text()
工作不正常。
console.log($('p.a').text());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="a">some text<a href="">some other text</a></p>
答案 0 :(得分:0)
$('p.a').contents().filter(function () { return this.nodeType === 1; });
答案 1 :(得分:0)
您可以使用自己的功能来忽略子元素
$.fn.ignoreChildren = function(child){
return this.clone().find(child||">*").remove().end();
};
alert($(".a").ignoreChildren('a').text()); // Alerts 'some text'
答案 2 :(得分:0)
尝试一下:
console.log($('p.a').contents().not($('p.a').children()).text());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="a">some text<a href="">some other text</a></p>
答案 3 :(得分:0)
使用clone方法仅获取主节点,并从中删除所有其他子节点。然后获取您的内容。检查以下代码:
console.log($("p.a").clone().children().remove().end().text());
我已经检查过了,它工作正常。希望对您有帮助。