<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').get(0)甚至$('#test')[0]是$('#test')是一个 JQuery 选择器并返回一个数组()结果不是默认功能的单个元素
jquery 中 DOM 选择器的替代方法是
$('#test').prop('id')这与.attr()和$('#test').prop('foo')不同.attr() $('#test').prop('foo')抓取指定的 DOM foo属性,而$('#test').attr('foo')抓取指定的 HTML foo属性,你可以在这里找到有关差异的更多细节。
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")