2017-02-28 6 views
-3

私はURLでいくつかの画像を持っています。各IDにはカスタム値があります。たとえば、id = "bg_234"とします。パラメータを使用してjavascriptで関数を呼び出す方法

<a href="" title="Switch" class="menulink"> 
<img src="http://placehold.it/333/fe3/img/picture2.jpg" id="bg_234" /></a> 

<a href="" title="Switch" class="menulink"> 
<img src="http://placehold.it/333/fe3/img/picture2.jpg" id="bg_34444" /></a> 

カスタムID値で以下の関数を実行するにはどうすればよいですか?

$(function() { 
$('.menulink').click(function(e){ 
    e.preventDefault(); 
    $("#bg").attr('src',"http://placehold.it/333/3ef/img/picture1.jpg"); 
}); 
}); 

王は画像要素を取得するために.find('img')を行い、現在の要素をクリックすると、単によりを参照するために$(this)を使用して、代わりにIDによる再選択する要素の

+1

あなたが何をしたいのか、求めているものをはっきりしていません?。 – Rex

+0

クリックすると、.menulinkをクリックすると$( "#bg_34444")か$( "#bg_234")を選択しますか? idが – Gianpolo

+0

の場合、idはドキュメント固有のものなので、関数を作成することはできません。タグ名、つまりimgを使用できます。 –

答えて

3

について:

$(function() { 
    $('.menulink').click(function(e){ 
     e.preventDefault(); 
     $(this).find('img').attr('src',"http://placehold.it/333/3ef/img/picture1.jpg"); 
    }); 
}); 

何らかの理由でIDが必要な場合は、$(this).attr('id')

+0

アンカーにはIDがありません。$(this).find( 'img')。attr( 'id') –

0

$(function() { 
 
    $('.menulink').click(function(e) { 
 
    e.preventDefault(); 
 
    var $anchor = $(this); //$(this) to refer to currently clicked element which has ".menulink" class 
 
    $anchor.find('img[id^="bg_"]').attr('src',"http://placehold.it/333/3ef/img/picture1.jpg"); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="" title="Switch" class="menulink"> 
 
<img src="http://placehold.it/333/fe3/img/picture2.jpg" id="bg_234" /></a> 
 

 
<a href="" title="Switch" class="menulink"> 
 
<img src="http://placehold.it/333/fe3/img/picture2.jpg" id="bg_34444" /></a>

関連する問題