带有变量的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 方法找不到元素?