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标签里只能有文本,而用户却强加很多其他的标签所造成的