如何在jQuery中遍历DOM对象?
我有这样的HTML。如何使用如何在jQuery中遍历DOM对象?,jquery,html,Jquery,Html,我有这样的HTML。如何使用jQuery遍历到标记 条件: 不应使用类属性 不应使用拆分方法 例如: <html> <body> <div> <div> hello </div> 123 <br> paragraphs <br> escapes <br> </div> </body> </html> 我需要的输出: “逃脱” 您能帮助我遍历标记吗?请
jQuery
遍历到
标记
条件:
<html>
<body>
<div>
<div>
hello
</div>
123
<br>
paragraphs
<br>
escapes
<br>
</div>
</body>
</html>
我需要的输出:“逃脱” 您能帮助我遍历
标记吗?请尝试以下操作:
有关详细信息,请查看以下链接:
希望有帮助。您正在查找的文本不在它们自己的标签内。它们被称为文本节点,jQuery没有简单的方法来获取它们。但是,您可以在jquery中使用一些原始JavaScript来实现这一点 在本例中,脚本捕获外部div中的所有文本节点(
contents()
捕获每种类型的子节点,然后nodeType==3上的filter
仅捕获文本节点),并在它们之间循环,提醒每个节点:
$('body > div').contents().filter(function() {
return this.nodeType == 3;
})
.each(function(){
alert($(this).text());}
);
您将看到,它会在段落前和最后一个换行符后的外部div中找到空格(第一个和最后一个文本节点的警报为空),但也会在
sPS之间找到每一段文本:如果您发现答案有用,请不要忘记接受答案;)换行符没有值(或文本)。OP需要将文本包装在自己的标记中(如Pranav所建议的),或者抓取文本节点(如我所建议的)。处于警戒状态,我只能得到空的空间
$('br').each(function(){
console.log($(this).val());
});
$('body > div').contents().filter(function() {
return this.nodeType == 3;
})
.each(function(){
alert($(this).text());}
);