javascript - 使用 jquery 返回单个 html 元素

标签 javascript jquery

如何让 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/

相关文章:

javascript - 求 SubMatrix 3x3 JavaScript 的最大和

javascript - 从 JSON 字符串中获取数据

javascript - node.js setTimeout() 工作吗?

asp.net - 获取具有相同类的文本框的值数组

php - Laravel 使用ajax get请求清除 session 数据

javascript - 使用 Jquery 模板 For 循环读取 Json

javascript - 为什么 Chrome 在某些情况下会在主线程上运行转换动画,而在其他情况下则不会?

javascript - 使用html5的跨平台游戏开发

jquery - 使用 jQuery,为什么当我只单击两个键之一时就会调用此函数?

javascript - 在html中调用js函数