一些不可思议的小问题

jquery的选择器虽然强大,但是对于一些不符合严格规范的html结构,也会得到意想不到的结果:

   <body>
    <p>
        thanks
        <div>
            I am yuanfang
        </div>
    </p>

</body>

如上,html结构如上,然后执行如下的jquery代码,就不会产生效果:

    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
             $('p div').css('background','purple');
        });
    </script>

页面中的div标记中的文本并不会变颜色,因为最终浏览器解析得到的dom树结构是如下所示的:


所以不符合p div 这样存在父子级关系的选择条件。

其实主要是html结构并不符合规范,原因是p标签里只能有文本,而用户却强加很多其他的标签所造成的


你可能感兴趣的:(一些不可思议的小问题)