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



以下语法有效:

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

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

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中解决。

更改引号"'"

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

您可以使用模板文字以获得更美观的语法

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

最新更新