这是我正在测试的http://jsfiddle.net/5hhRF/
的jsfiddle有数字1 2 1 2 ....当你点击最后一位数字为“2”时,它不会发出警报。
我是否遗漏了该案的一些代码?
我在这里再次复制相同的代码。
<span class="open-option" id="option1" >1</span>
<span class="open-option" id="option2" >2</span>
<span id="open-option" class="option1" >1</span>
<span id="open-option" class="option2" >2</span>
$(".open-option").click(function(){ var myID=$(this).attr('id'); alert(myID); }); $("#open-option").click(function(){ var myClass=$(this).attr('class'); alert(myClass); });
答案 0 :(得分:3)
您无法为多个元素分配相同的ID。
http://htmlhelp.com/reference/html40/attrs.html
ID属性唯一标识文档中的元素。没有 两个元素在单个文档中可以具有相同的ID值。
答案 1 :(得分:3)
click
事件仅绑定到具有给定ID的第一个元素。
页面中的ID必须是唯一的。
答案 2 :(得分:1)
jQuery
id
selector
返回一个数组,但只包含DOM
中带有id的第一个元素。所以在您的代码中click handler is being applied to 1st DOM elements only
您可以使用contains selector
$("span[id*='open-option']").click(function(){
var myClass=$(this).attr('class');
alert(myClass);
});
答案 3 :(得分:0)
根据here,我担心元素ID必须是唯一的。否则,您的代码将无法正常工作。