jQuery / CSS - 如何在另一个元素内首次出现元素?

时间:2011-04-19 20:19:29

标签: jquery html css

这是我的问题。

HTML

<div id="content">
    <h1>Headline</h1>
    <p>First paragraph that needs to be yellow.</p>
    <p>Second paragraph that need not change. :) </p>
    <p>Third paragraph that need not change. :) </p>
</div>

如果我使用#content p:first-child {color:yellow; }它不起作用,因为p不是content的第一个孩子...... h1是第一个出生的人。

如何在不触及HTML代码的情况下执行此操作?

谢谢!

一切顺利, 克里斯

9 个答案:

答案 0 :(得分:20)

css3解决方案

#content > p:first-of-type { color: yellow; }

答案 1 :(得分:14)

这是最好的方式:

$('#content p:first').css('color', 'yellow');

答案 2 :(得分:4)

你也可以使用(CSS,jQuery)nth-of-type

#content p:nth-of-type(1) {color:yellow; }

$('#content p:nth-of-type(1)').css('color', 'yellow');

答案 3 :(得分:3)

使用.first()功能(或:first选择器)代替:

$('#content > p').first().css('color', 'yellow');

答案 4 :(得分:2)

因为你已经使用jQuery,基于jQuery的解决方案标记了它:

$(“#content p:first-child”)。css({color:“yellow;”});

编辑:

$("#content p:nth-child(2)").css({color:"yellow" });

答案 5 :(得分:2)

<script>
$(function(){
    $('#content p:first').css('color','yellow');
});
</script>

答案 6 :(得分:1)

$('#content p').first().css({ color: 'yellow' });

答案 7 :(得分:1)

试试这个:

$("div p:first")
        .css("text-decoration", "underline")
        .hover(function () {
              $(this).addClass("sogreen");
            }, function () {
              $(this).removeClass("sogreen");
            });

答案 8 :(得分:0)

只使用CSS,您可以像这样使用兄弟选择器+

#content h1 + p { color: yellow; }

这只会在H1之后立即更改段落。