带有变量的jquery选择器找不到元素

Posted

技术标签:

【中文标题】带有变量的jquery选择器找不到元素【英文标题】:jquery selector with variable does not find element 【发布时间】:2019-11-20 04:50:02 【问题描述】:

我有这行代码

$("#ir-area-name").html(list);

这很好用,但我需要将它移动到一个可以为任何 id 调用的函数中,我看到的每个答案都说我可以像这样运行它:

$("#"+variable_name).html(list);

variable_name 是一个包含 id 的字符串。但是,这对我不起作用,它没有找到任何元素,也没有打印错误消息。在将选择器的内容打印到控制台时,它们都会打印值[object Object]。但是,当使用变量运行它时,元素会从屏幕上消失(因为它显然没有找到该元素,因此它从未运行过html())。出于测试目的,我也这样尝试过:

$("#"+"ir-area-name").html(list);

但这仍然没有找到元素。所以问题是如何在 jquery 选择器中使用变量(使用 jquery 1.7.1,在 firefox 上测试)。

【问题讨论】:

你为什么使用这个非常旧的 jquery 版本?它应该与$("#"+variable_name) 一起工作,也许变量名没有定义? 【参考方案1】:

你应该使用字符串连接。

$("#" + ir-area-name).html(list)

或者使用 ES6 字符串替换语法(docs)

$(`#$ir-area-name`).html(list)

如果找到该元素,则将该元素的html替换为list的内容。

【讨论】:

$"#" + variable_name) ? 已编辑。使用了错误的例子。还添加了文档链接

以上是关于带有变量的jquery选择器找不到元素的主要内容,如果未能解决你的问题,请参考以下文章

为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?

为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?

为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?

为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?

为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?

为啥 jQuery 或 getElementById 等 DOM 方法找不到元素?