使用jquery </p> </h1>选择<p>中的所有<h1>

时间:2011-07-11 14:49:49

标签: jquery

我只是想改变“p”下所有“h1”元素的背景颜色,如下所示,但它不起作用

$(document).ready(function(){



    $("p").find("h1").css("background-color","yellow");

});

以下是jsfiddle

http://jsfiddle.net/sukumar/X9yQL/4/

3 个答案:

答案 0 :(得分:5)

你的html标记无效。查看使用调试器生成的标记:

  <p>first
    </p><h1>first h1 <span>span1

        <h1>another h1 inside span</h1>
        </span>
    </h1>




<p></p>

似乎你不能在p

中有h *

答案 1 :(得分:3)

请参阅Nesting block level elements inside the <p> tag… right or wrong?

  

不,段落元素可能不包含其他块元素。

     

Reference

     

段落标记用于文本块。如果你的元素是   文本的一部分(而不是块元素),它将是语义上的   正确,否则没有。带有display:block的span标记仍然是一个块   元件。

答案 2 :(得分:1)

大多数浏览器都会从p标签中删除h1标签,因此它无法正常工作。使用跨度和样式就像H1一样可以正常工作。你的标记也有点乱,我建议清理它。