使用变量访问带连字符的属性

Accessing a hyphenated attribute using a variable

以下语法有效:

hello = $("html").find('[id=foo-var]').html();

但是我们如何通过一个变量指定"foo-var"呢?

var holder = "foo-var";
hello = $("html").find('[id=' + holder + ']').html();

这当然不行。

更改引号 "'"

var holder = "foo-var";
hello = $("html").find('[id="' + holder + '"]').html();

如果属性值包含受限字符,则需要用引号引起来:

var holder = "foo-var";
var hello = $("html").find('[id="' + holder + '"]').html();

但是 鉴于 id 属性在 DOM 中必须是唯一的,您应该使用id 第一例选择器:

var holder = "foo-var";
var hello = $('#' + holder).html();

如果您有多个具有相同 id 的元素,那么这是一个单独的问题,需要在您的 HTML 中解决。

您可以使用模板文字以获得更好看的语法

$("html").find(`[id=${holder}]`).html();