2017-02-28 54 views
-3

我有幾個圖像與網址。每個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"); 
}); 
}); 

國王通過ID對於

+1

並不清楚你的要求,你想做什麼? – Rex

+0

是否要根據.menulink點擊選擇$(「#bg_34444」)或$(「#bg_234」)?帶ID的 – Gianpolo

+0

你不能創建一個函數,因爲id對文檔是唯一的。你可以使用標籤名稱,即img。 –

回答

3

不是重新選擇的元素,使用$(this)來指代當前點擊的元素並不僅僅是做.find('img')獲得圖像元素:

$(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>

相關問題