我只是想改变“p”下所有“h1”元素的背景颜色,如下所示,但它不起作用
$(document).ready(function(){
$("p").find("h1").css("background-color","yellow");
});
以下是jsfiddle
答案 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?:
不,段落元素可能不包含其他块元素。
段落标记用于文本块。如果你的元素是 文本的一部分(而不是块元素),它将是语义上的 正确,否则没有。带有display:block的span标记仍然是一个块 元件。
答案 2 :(得分:1)
大多数浏览器都会从p标签中删除h1标签,因此它无法正常工作。使用跨度和样式就像H1一样可以正常工作。你的标记也有点乱,我建议清理它。