我如何使用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?