如何在jQuery中遍历DOM对象?

如何在jQuery中遍历DOM对象?,jquery,html,Jquery,Html,我有这样的HTML。如何使用jQuery遍历到标记 条件: 不应使用类属性 不应使用拆分方法 例如: <html> <body> <div> <div> hello </div> 123 <br> paragraphs <br> escapes <br> </div> </body> </html> 我需要的输出: “逃脱” 您能帮助我遍历标记吗?请

我有这样的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中找到空格(第一个和最后一个文本节点的警报为空),但也会在

    s

    PS之间找到每一段文本:如果您发现答案有用,请不要忘记接受答案;)换行符没有值(或文本)。OP需要将文本包装在自己的标记中(如Pranav所建议的),或者抓取文本节点(如我所建议的)。处于警戒状态,我只能得到空的空间
    $('br').each(function(){
       console.log($(this).val());
    });
    
    $('body > div').contents().filter(function() {
            return this.nodeType == 3;
        })
        .each(function(){
            alert($(this).text());}
        );