扫描所有DOM的最佳方法是什么,找到任何包含文本的元素并将其包装在span类中? 感谢
答案 0 :(得分:14)
包装所有包含除空格之外的内容的文本节点:
$('body *').contents().filter(function() {
return (this.nodeType == 3) && this.nodeValue.match(/\S/);
}).wrap("<span />")
包装所有文本节点,包括仅包含空格的文本节点:
$('body *').contents().filter(function() {
return (this.nodeType == 3) && this.nodeValue.length > 0;
}).wrap("<span />")
答案 1 :(得分:1)
您可以使用 .each 来迭代所有元素:
$('*').each(function(){
if($(this).text())
{
$(this).wrapInner('<span />');
}
})
我没有测试那段代码但是很简单。您需要了解的只有 .each , wrapInner 和*选择器。 jQuery文档在这里非常有用。