-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_456http://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

このコードを試してください:

function change(id) {
    $('#this_'+id+ ' > div').find("#body").fadeOut();
} 
于 2012-04-15T17:04:24.787 に答える
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 に答える