1

IDまたはクラスなしで画像にテキスト行を追加しようとしています。次のような一連の画像があります

  <img src="../img/star.png"  /><span>no text here until left img is clicked</span>

  <img src="../img/someotherpicture.png"  /><span>no text here until left img is clicked</span>

  <img src="../img/anotherpicture.png"  /><span>no text here until left img is clicked</span>

そしてjqueryの場合、私は持っています

$(document).ready(function(){
$("img").click(function(){  
$("img").next.$("span").val("info inserted after clicking on the img next to spa");
})
});

ここで next をどのように使用すればよいか、少し混乱しています。私は常に img の後にスパンがあります。

4

2 に答える 2

2

.click() よりも .on() を使用することも検討する必要がありますが、最も重要な部分は、クリックされたオブジェクトを参照するコールバック内の $(this) です。

$(document).ready(function(){
     $("img").on('click', function(e){  
        $(this).next('span').text("info inserted after clicking on the img next to span");
    })
});
于 2013-02-18T19:17:53.893 に答える
0

セレクターとメソッドが正しくありません。スパンをターゲットにするには、次を使用します。

$(this).next('span')

次に、ノード内のテキストを変更するには、.text()代わりに.val()次を使用します。

 $(this).next('span').text('info inserted after clicking on the img next to spa');

(.val() は入力フィールドに使用されます)。

于 2013-02-18T19:17:01.707 に答える