jQuery的:許多按鈕,jQuery的
$("#direction").click(function() {
var direction = $(this).text();
alert(direction);
}
HTML
<button id="direction">South</button>
<button id="direction">North</button>
只有第一個按鈕提示文本。我不明白爲什麼。我怎樣才能解決這個問題?
jQuery的:許多按鈕,jQuery的
$("#direction").click(function() {
var direction = $(this).text();
alert(direction);
}
HTML
<button id="direction">South</button>
<button id="direction">North</button>
只有第一個按鈕提示文本。我不明白爲什麼。我怎樣才能解決這個問題?
你不能有兩個具有相同ID的元素,你可以做的是給他們相同的類,然後添加事件處理程序。
實施例:
<button class="directionBtn">South</button>
<button class="directionBtn">North</button>
$(".directionBtn").click(function() {
var direction = $(this).text();
alert(direction);
});
此代碼包含語法錯誤,在末尾缺少'}'和')' –
我們可以認爲語法不是答案的一部分。這更多地解釋了一個概念(使用'class'而不是'id')。但是你是對的,我編輯了我的答案來修復錯誤。 – Ryan
這是無效的,以具有相同id
多個元素(一個id
必須是文檔內是唯一的);因爲jQuery大概在內部實現了document.getElementById()
,這將永遠(正確地)返回遇到的第一個元素id
。
在你的情況,你應該使用方向的class
,並根據該選擇:
$('.direction').click(
function(){/*...*/});
你不能用相同的ID兩個元素,使用類,如果要引用的多個元素一次,是這樣的:
<button class="direction">South</button>
<button class="direction">North</button>
然後在你的腳本:
$(".direction").click(function() {
var direction = $(this).text();
alert(direction);
});
要清楚,你可以有兩個具有相同ID的元素。這樣做只是一個非常糟糕的主意,因爲這會造成問題。 –
ü使用的id選擇器。如果jquery引擎發現多個具有相同ID的元素,它將忽略除第一個元素之外的所有元素。 –