<div id="test"></div>
<script>
  $(document).ready(function() {
    alert($('#test').id);
  });  
</script>

为什么上面的方法不起作用,我应该怎么做?


当前回答

重要提示:如果要使用jQuery创建新对象并绑定事件,则必须使用prop而不是attr,如下所示:

$(“<div/>”,{id:“yourId”,class:“yourClass”,html:“<span></span>”}).on(“单击”,函数(e){alert($(this).prop(“id”);}).appendTo(“#something”);

其他回答

它不会回答OP,但对其他人来说可能很有趣:在这种情况下,您可以访问.id字段:

$('#drop-insert').map((i, o) => o.id)

以上答案很好,但随着jquery的发展。。因此,您还可以执行以下操作:

var myId = $("#test").prop("id");
$.fn.extend({
    id : function() {
        return this.attr('id');
    }
});

alert( $('#element').id() );

当然需要一些检查代码,但很容易实现!

重要提示:如果要使用jQuery创建新对象并绑定事件,则必须使用prop而不是attr,如下所示:

$(“<div/>”,{id:“yourId”,class:“yourClass”,html:“<span></span>”}).on(“单击”,函数(e){alert($(this).prop(“id”);}).appendTo(“#something”);

如果您想获取一个元素的ID,比如说通过类选择器,当在该特定元素上触发事件(在本例中为单击事件)时,以下操作将完成此任务:

 $('.your-selector').click(function(){
       var id = $(this).attr('id');
 });