查找包含内部文本的所有元素的jquery是什么?
$("*:contains(*)")
似乎错了......
答案 0 :(得分:1)
什么是“内部文字”?这是你想要的吗?
var elems = [];
$('*').each(function(){
if ($(this).text().length > 0) {
elems.push($(this));
}
});
console.log('Elements with text: ' + elems.length);
console.log('All elements with text:' + elems);
答案 1 :(得分:1)
$.filter("*")
会做你想要的。
使用innerHTML
的示例:
$(document.getElementById("elementID").innerHTML).filter("*");
答案 2 :(得分:0)
如果将“内部文本”定义为具有文本节点,我认为这将做你想要的:
var $elementsWithTextNodes = $('*').filter(function(){
return $(this).contents().filter(function() {
return this.nodeType == 3 && $.trim($(this).text()) != '';
}).length;
});