• 关于p标签的嵌套问题


    今天群里问了一个p的问题,初看我觉得恩这么简单我应该知道。

    他代码如下:

    <!DOCTYPE HTML>
    <html>
    <head>
        <meta charset="utf-8">
        <script type="text/javascript" src="js/jquery-1.11.0.js"></script>
    </head>
    <body>
    <body>
    <div>
        <p><p></p></p>
     
    </div>
    </body>
    </body>
    </html>
    
    <script>
    $(function(){
         var p = $("p");
         alert(p.length);
    });
    </script>

      然后输出了3

    我怎么看也是2啊,然后我就让他把代码发给我看看,后来别人说p嵌套会有问题,我就试了一下其它标签  发现i,a ,div都是好的,

    <!DOCTYPE HTML>
    <html>
    <head>
        <meta charset="utf-8">
        <script type="text/javascript" src="js/jquery-1.11.0.js"></script>
    </head>
    <body>
    <div>
        <div>1<div>2</div>3</div>
    </div>
    </body>
    </html>
    <script>
        $(function() {
            var $targetName = $('div');
           console.log('i len:',$targetName.length);
    
            for(var i=0;i<$targetName.length;i++) {
                console.log($targetName.eq(i).html());
            }
        });
    </script>



    然后我突然想起,p里面是不能嵌套块级的,p自己也是块级,
    例如<p>1<p>2</p>3</p>
    他最后会被解析为
    <p>1</p>
    <p>2</p>
    <p</p>

    然后我继续想,如果我把p的style设置为inline呢?

    <!DOCTYPE HTML>
    <html>
    <head>
        <meta charset="utf-8">
        <script type="text/javascript" src="js/jquery-1.11.0.js"></script>
        <style>
            p {
                display: inline;
            }
        </style>
    </head>
    <body>
    <div>
        <p>1<p>2</p>3</p>
    </div>
    </body>
    </html>
    <script>
        $(function() {
            var $targetName = $('p');
           console.log('p len:',$targetName.length);
    
            for(var i=0;i<$targetName.length;i++) {
                console.log($targetName.eq(i).html());
            }
        });
    </script>

    恩  还是会输出3的, 这个应该是和浏览器有关系的。

    ps:问题虽小,但是我今天才知道,略掉脸,囧。

  • 相关阅读:
    poj2661Factstone Benchmark
    完整的微信接口类 (转)
    位运算(转载)
    PHP学习笔记之数组游标操作
    MYSQL数据库数据拆分之分库分表总结 (转)
    webservice使用
    MySQL索引类型总结和使用技巧以及注意事项 (转)
    PHP empty、isset、isnull的区别
    myisam和innodb的区别
    看看PHP迭代器的内部执行过程(转)
  • 原文地址:https://www.cnblogs.com/skyweaver/p/3902710.html
Copyright © 2020-2023  润新知