父后代jquery选择器中的奇怪错误

时间:2013-10-27 12:50:31

标签: javascript jquery html css jquery-selectors

我已阅读tutorial about jquery selectors

提到:

parent descendant - $("div p") - All <p> elements that are descendants of a <div> element

他们提供了demo,效果很好:

但我仍然无法弄清楚为什么这不起作用:

<p class="ee">
    <h4><span> The backgroud color don't changed</span></h4>
</p>
<script>
    $(".ee span").css("background-color","yellow");
</script>

jsfiddle DEMO

1 个答案:

答案 0 :(得分:4)

您的标记错误

<p class="ee">
     <h4><span> The backgroud color don't changed</span></h4>
</p>

您无法<h4>标记indside p标记

所以browser render这就是

<p class="ee"></p>
     <h4><span> The backgroud color don't changed</span></h4>
<p></p>

所以你的下面的选择器不起作用。因为班级span

内没有ee
$(".ee span").css("background-color","yellow");

  

P元素代表一个段落。它不能包含块级   元素(包括P本身)。

http://www.w3.org/TR/html401/struct/text.html#h-9.3.1