<div id="test"></div>
<script>
$(document).ready(function() {
alert($('#test').id);
});
</script>
为什么上面的方法不起作用,我应该怎么做?
<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”);
其他回答
.id不是有效的jquery函数。您需要使用.attr()函数来访问元素拥有的属性。您可以使用.attr()通过指定两个参数来更改属性值,或者通过指定一个参数来获取值。
http://api.jquery.com/attr/
它不会回答OP,但对其他人来说可能很有趣:在这种情况下,您可以访问.id字段:
$('#drop-insert').map((i, o) => o.id)
$('tagname').attr('id');
使用上面的代码,您可以获得id。
可能对找到此线程的其他人有用。只有当您已经使用jQuery时,下面的代码才有效。函数始终返回一个标识符。如果元素没有标识符,函数将生成标识符并将其附加到元素。
var generatedIdCounter = 0;
$.fn.id = function() {
var identifier = this.attr('id');
if(!identifier) {
generatedIdCounter++;
identifier = 'isGenerated_' + generatedIdCounter;
this.attr('id', identifier);
}
return identifier;
}
如何使用:
$('.classname').id();
$('#elementId').id();
$('#test')返回一个jQuery对象,因此不能简单地使用object.id获取其id
您需要使用$('#test').attr('id'),它返回元素所需的id
这也可以如下进行,
$('#test').get(0).id,等于document.getElementById('test').id