• 技术文章 >web前端 >html教程

    html:P元素不要乱嵌套

    黄舟黄舟2017-07-03 11:56:16原创1108
    今天一个同事咨询我关于jQuery的filter进行过滤的问题.他查看了jQuery1.7 made by UNREGISERED version of Easy CHM的文档资料.发现里面过于filter的说明无法正常运行成功.后来发现次文档的一些内容有一些bug会误导学习者.同时通过这次filter的研究发现了HTML p元素的问题.之前居然一直没有注意.

    先给大家看看jQuery1.7 made by UNREGISERED version of Easy CHM中的说明

    保留子元素中不含有ol的元素。

    HTML 代码:

    <p>
    <ol>
    <li>Hello</li>
    </ol>
    </p>
    <p>How are you?</p>

    jQuery 代码:

    $("p").filter(function(index) { return $("ol", this).length == 0;//这里明显有错误的.这样也不可能成功的. });

    结果:

    [ <p>How are you?</p> ]

    其实这个是无法成功运行的.错误就在$("ol", this).length == 0;我开始以为修改为(this).has("ol").length==0就OK了,后来引发了新的问题.就是p元素包裹其他元素的问题.

    我们可以看看这样的代码(让整个HTML里面只有此这些代码内容):

    <p><div>I'm nest in p element.</div></p>

    然后用jQuery去取此HTML里面的p元素.

    alert($("p").length);

    因为只有一个p.我们都应该期待得到返回结果为1.但是你可以试验.Chrome.Firefox.Opera.Safari.IE.统统返回2.

    Why?

    应该很多比我细心而且不像我这样马虎的人都知道原因.那我就自己记下来警示一下自己.这种问题对我这种粗心的人是非常容易犯错的.原来P元素是不能包含块级元素(包括P自身)的.The P element represents a paragraph. It cannot contain block-level elements (including P itself).

    以上就是html:P元素不要乱嵌套的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:html 嵌套 元素
    上一篇:html中p标签和label标签可以并列吗? 下一篇:html中两个p标签之间如何做到不换行?
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• Codeforces Round #277.5 (Div. 2) 解题报告_html/css_WEB-ITnose• 关于常用meta的总结 - 冰阡陌• 如何向当前的html文档输入一段字符_html/css_WEB-ITnose• 有关CSS的一些事_html/css_WEB-ITnose• 浏览器得到地址栏的相关信息_html/css_WEB-ITnose
    1/1

    PHP中文网