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
的内容。
我有这行代码
$("#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
的内容。