所以,我是一個新手,我有一個邏輯錯誤,我無法弄清楚。我正在嘗試寫一個頁面來顯示賓果遊戲中的號碼。我有一個16行5列的表格,以容納標題和每個可能的賓果號碼。我希望用戶能夠點擊按鈕並切換顯示所調用號碼的img。這裏有一個片段:在Javascript中切換圖片
<tr>
<td><button onclick="toggle('picture')">B-1</button>
<div id="picture" style="display:none"><img src="B1.png"/></div></td>
<td><button onclick="toggle('picture')">I-16</button>
<div id="picture" style="display:none"><img src="I16.png"/></div></td>
<td><button onclick="toggle('picture')">N-31</button>
<div id="picture" style="display:none"><img src="N31.png"/></div></td>
</tr>
要切換,我有以下的js代碼:
function toggle(id) {
var element = document.getElementById(id);
if(element.style.display == "none")
show(id);
else
hide(id);}
function show(id){
document.getElementById(id).style.display = "block";}
function hide(id){
document.getElementById(id).style.display = "none";}
所以,不管我點擊了哪個按鈕,切換B1,但nothong人這麼做。 我明白問題是(我認爲)我傳遞給函數的是什麼。我通過了什麼,以便該函數只對我用來調用它的按鈕進行操作?
如果有人能幫助我得到正確的代碼,以便它能夠正常工作,那會很好,但如果你能幫我解釋一下,以便我能理解它,那會更好!先謝謝你!
標識** **必須是唯一的。 – j08691
重複ID的===身份盜用DOM對象......他們不喜歡它。此外:不是傳遞ID,而是反覆查詢DOM,爲什麼不傳遞對DOM節點的引用,這會顯着降低開銷 –
謝謝。它工作,甚至更好,我明白了。 – user3027672