如何让jQuery完全按照getElementById
的方式返回html元素?
如果我console.log($('#container'))
我会得到:
[<div id="container"></div>]
但我正在与之交互的API显然不需要(数组) - 它想要:
<div id="container"></div>
我知道我可以通过$('#container').get(0)
以及其他一些方式来实现这一点,这似乎有些过分 - 特别是当我选择一个永远是唯一的ID时。
我想念的是什么人?
由于
答案 0 :(得分:5)
如果您只想要一个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");
答案 1 :(得分:0)
尝试使用.html()它将返回您选择的元素的html: