选择div儿童

时间:2012-04-15 17:00:48

标签: javascript jquery

我想使用jquery选择div的子节点。我尝试与孩子()但没有工作

<div class="main" id="this_456" onclick="change(456)">

 <div id="title">some text</div>

 <div id="body">some text as well</div>

</div>

的javascript

function change(id)
{
$('#this_'+id).children("#body").fadeOut();

}

3 个答案:

答案 0 :(得分:1)

如果您指定456作为参数而非this_456(请参阅:http://jsfiddle.net/aLxTz/),则您的代码有效。

但是,由于<div id="body"/>由ID(#body)标识,因此在内部和其他元素中查找它是多余的 - 它应该是文档范围内唯一的。如果您希望拥有一个正文class=""的多个实例,请使用<div/>属性,例如<div class="body">...</div>

此外,请注意onclick处理程序将this变量设置为context元素。由于这是问题本身,你可以写

<div class="main" id="this_456"> ... </div>

$(".main").click(function() {
  $(this).chlidren(".body").fadeOut();
});

答案 1 :(得分:0)

试试这段代码:

function change(id) {
    $('#this_'+id+ ' > div').find("#body").fadeOut();
} 

答案 2 :(得分:0)

<div class="main" id="this_456" onclick="change(this)">
 <div id="title">some text</div>
 <div id="body">some text as well</div>
</div>

function change(elm) {
   $(elm).children("#body").fadeOut();
}

FIDDLE