<div id="test"></div>
<script>
$(document).ready(function() {
alert($('#test').id);
});
</script>为什么上面的方法不起作用,我该怎么做?
发布于 2010-07-14 01:13:12
$('selector').attr('id')将返回第一个匹配元素的id。Reference。
如果匹配的集合包含多个元素,则可以使用传统的.each iterator返回包含每个If的数组:
var retval = []
$('selector').each(function(){
retval.push($(this).attr('id'))
})
return retval或者,如果您愿意变得更强大,您可以避免使用包装器,而使用.map shortcut。
return $('.selector').map(function(index,dom){return dom.id})发布于 2010-07-14 01:16:43
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")发布于 2013-12-06 00:46:09
上面的答案很棒,但随着jquery的发展..所以你也可以这样做:
var myId = $("#test").prop("id");https://stackoverflow.com/questions/3239598
复制相似问题