我如何使用jQuery获取元素的ID?

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

为什么没有上述工作,我该怎么做?


jQuery的方式:

$('#test').attr('id')

在你的例子中:

<div id="test"></div>

$(document).ready(function() {
    alert($('#test').attr('id'));
}); 

或者通过DOM:

$('#test').get(0).id;

甚至 :

$('#test')[0].id;

$('#test').get(0)在JQuery中甚至$('#test')[0]$('#test')是一个JQuery选择器并返回一个数组()的结果不是由其默认功能的单个元素

在jQuery中DOM选择器的替代方法是

$('#test').prop('id')

它和.attr()$('#test').prop('foo')不同.attr() $('#test').prop('foo')获取指定的DOM foo属性,而$('#test').attr('foo')获取指定的HTML foo属性,你可以在这里找到更多关于差异的细节。


$('selector').attr('id')将返回第一个匹配元素的id。 参考。

如果您的匹配集合包含多个元素,则可以使用常规.each迭代器返回包含每个id的数组:

var retval = []
$('selector').each(function(){
  retval.push($(this).attr('id'))
})
return retval

或者,如果你愿意得到一点点砂砾,你可以避开包装并使用.map快捷方式。

return $('.selector').map(function(index,dom){return dom.id})

id是html Element的属性。 但是,当您编写$("#something") ,它将返回一个包装匹配的DOM元素的jQuery对象。 要返回第一个匹配的DOM元素,请调用get(0)

$("#test").get(0)

在这个本地元素上,您可以调用id或其他本地DOM属性或函数。

$("#test").get(0).id

这就是为什么id不能在你的代码中工作的原因。

或者,使用jQuery的attr方法,其他答案建议获取第一个匹配元素的id属性。

$("#test").attr("id")
链接地址: http://www.djcxy.com/p/2359.html

上一篇: How can I get the ID of an element using jQuery?

下一篇: How can I select an element with multiple classes in jQuery?