首页 > 解决方案 > 带有变量的jquery选择器找不到元素

问题描述

我有这行代码

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

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

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

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

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

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

标签: javascriptjqueryjquery-selectors

解决方案


您应该使用字符串连接。

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

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

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

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


推荐阅读