-4

我想使用 jquery 选择一个 div 的孩子。我尝试使用 children() 但没有用

<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();

}
4

3 回答 3

1

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

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

此外,请注意onclick处理程序将this变量设置为上下文元素。由于这是有问题的元素本身,您可以编写

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

$(".main").click(function() {
  $(this).chlidren(".body").fadeOut();
});
于 2012-04-15T17:06:58.510 回答
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();
}

小提琴

于 2012-04-15T17:19:15.873 回答
0

试试这个代码:

function change(id) {
    $('#this_'+id+ ' > div').find("#body").fadeOut();
} 
于 2012-04-15T17:04:24.787 回答