可以从点击的类获取id,但不能从点击的id获取类

时间:2012-04-06 06:03:13

标签: javascript jquery html

这是我正在测试的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);
    });


                        ​

4 个答案:

答案 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);
});

小提琴:http://jsfiddle.net/5hhRF/4/

答案 3 :(得分:0)

根据here,我担心元素ID必须是唯一的。否则,您的代码将无法正常工作。

相关问题