如何选择儿童元素?

时间:2013-07-31 09:57:03

标签: jquery

HTML

<div class="one">
    <div class="two">
        <div class="three">text</div>
    </div>
</div>

如何选择子元素。我试过这个。

$('.one').children('.three').css('color','#f00');

我知道.find()函数,但想知道另一种方法。

8 个答案:

答案 0 :(得分:5)

您可以随时将选择器更改为链类:

$(".one .three").css("color", "#f00");

这将选择具有班级.one

.three班级的所有孩子

答案 1 :(得分:1)

你也可以这样做:

$('.one > .two').children('.three').css('color','#f00');

当然还是:

$('.one > .two > .three').css('color','#f00');

这是一个小提琴:http://jsfiddle.net/3nhrh/1/

答案 2 :(得分:1)

以下方法可能会对您有所帮助:

var children=$('.one').children();

children.each(function(idx, val){
   $(this).css('color','#f00');
});

JSFiddle

答案 3 :(得分:0)

尝试其中一行

$('.one').children().children('.three').css('color','#f00');
$('.one').children('.two').children('.three').css('color','#f00');
$('.one').children('.two').find('.three').css('color','#f00');

希望它会对你有所帮助。

答案 4 :(得分:0)

您可以使用上下文选择器:

$('.three', $('#one')).css(.....

答案 5 :(得分:0)

尝试

$('.one > div.three').css('color','#f00');

答案 6 :(得分:0)

试试这个... jsfiddle

$("div").children(".two").css("color", "blue");

答案 7 :(得分:0)

这完全取决于你想要达到的目的。

如果文章中包含“3”类的项目只存在一次(或想要获得所有项目),则可以使用$('.three')

如果您正在寻找作为后代的“三个”或作为“一个”的后代的“两个”使用$('.one .two .three')

如果您只希望他们是直接孩子,可以使用$('.one > .two > .three')

如果你碰巧已经有一个“one”节点的jquery对象,你可以限制以前的搜索: $('.three' , theOne)$(' .two .three' , theOne)$(' > .two > .three', theOne)

我希望其中一个符合您的需求,如果没有,那么您应该更好地澄清具体情况。