如何让 jQuery 按照 getElementById
的方式返回 html 元素?
如果我console.log($('#container'))
我会得到:
[<div id="container"></div>]
但是我正在交互的 API 显然不想要那个(数组) - 它想要:
<div id="container"></div>
我知道我可以通过 $('#container').get(0)
和其他一些方法来实现这一点,这似乎有些过分了 - 特别是当我选择一个 ID 时,它会永远是独一无二的。
我错过了什么?
谢谢
最佳答案
如果您只想要一个 DOM 元素,那么只需使用纯 JavaScript:
var obj = document.getElementById("container");
jQuery 选择器总是创建一个 jQuery 对象,其中包含一个元素数组。这就是它的设计方式。如果您想要单个元素,您可以从 jQuery 对象中获取第一个元素,或者使用不同的工具。
从 jQuery 对象中,您可以通过以下方式获取第一个对象:
$('#container').get(0)
或与:
$('#container')[0]
但是,我认为如果您想要的只是具有 id 的单个对象,那么两者都超出了您的需要。只需使用 document.getElementById() 即可。如果您想要减少输入,您可以创建自己的短函数:
function $$(id) {
return(document.getElementById(id));
}
var obj = $$("container");
关于javascript - 使用 jquery 返回单个 html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11127332/