2

jQueryを使用してdivにデータを入力する方法を探しています..私は苦手です。

私のコードには、一連の 6 つのボックスとコンテンツ ボックスがあります。別の 6 つのボックスと次のようなコンテンツ ボックスがあります。

<div class='box'><img src='x' /></div>
<div class='box'><img src='x' /></div>
<div class='box'><img src='x' /></div>
<div class='box'><img src='x' /></div>
<div class='box'><img src='x' /></div>
<div class='box'><img src='x' /></div>
<div class='box'><img src='x' /></div>
<div class='content'></div>
<div class='box'><img src='x' /></div>
<div class='box'><img src='x' /></div>
<div class='box'><img src='x' /></div>
<div class='box'><img src='x' /></div>
<div class='box'><img src='x' /></div>
<div class='box'><img src='x' /></div>
<div class='box'><img src='x' /></div>
<div class='content'></div>

私が探しているのは、誰かが画像をクリックしたときです。次の画像.content divのみが表示されます。

前もって感謝します。

=== Hugoの場合..私が得た最も近いものは、明らかにすべてのコンテンツボックスに入力されます:

$(".box img").click(function(){
                $(this).parent().parent().find(".content").html("X");
            });
4

3 に答える 3

3
$('.box img').click(function(){
   $(this).parent().nextAll('.content').first().text('...');
})
于 2013-03-27T21:42:36.800 に答える
1

これには、適切なトラバーサル関数を使用する必要があります。「最適な」バージョンは、マークアップとそのさまざまな部分の相対的な安定性に依存しますが、ここでは、指定した HTML で作業してみましょう。

any から開始して<img>、その親に移動し.box、次の を探します.content。jQuery への翻訳:

$(this).parent().nextAll(".content").first()
于 2013-03-27T21:42:14.397 に答える
0
$('img').click(function() {
  var $nextdiv = $(this).parent().nextUntil('.content').addBack().last().next();
  // do something with it
});

http://jsfiddle.net/mblase75/gRKfa/

http://api.jquery.com/nextUntil

.nextAll().first()ただし、それほど複雑ではありません。)

于 2013-03-27T21:41:26.970 に答える