使用jquery返回单个html元素

时间:2012-06-20 20:06:09

标签: javascript jquery

如何让jQuery完全按照getElementById的方式返回html元素?

如果我console.log($('#container'))我会得到:

[<div id="container"></div>]

但我正在与之交互的API显然不需要(数组) - 它想要:

<div id="container"></div>

我知道我可以通过$('#container').get(0)以及其他一些方式来实现这一点,这似乎有些过分 - 特别是当我选择一个永远是唯一的ID时。

我想念的是什么人?

由于

2 个答案:

答案 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:

http://api.jquery.com/html/