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

jquery selector with variable does not find element

我有这行代码

$("#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 上测试)。

您应该使用字符串连接。

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

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

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

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