0

我怎样才能让 jQuery 以这种方式返回一个 html 元素getElementById

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

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

但是我与之交互的 API 显然不想要那个(数组) - 它想要:

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

我知道我可以通过$('#container').get(0)其他一些方法来实现这一点,这似乎有点矫枉过正——尤其是当我选择一个永远唯一的 ID 时。

我想念什么?

谢谢

4

2 回答 2

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");
于 2012-06-20T20:10:14.753 回答
0

尝试使用 .html() 它将返回您选择的元素的 html,请参见:

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

于 2012-06-20T20:09:19.643 回答