Доступ к атрибуту дефиса с использованием переменной - PullRequest
1 голос
/ 24 сентября 2019

Синтаксис ниже работает:

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

Но как мы можем указать «foo-var» через переменную?

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

Это, конечно, не работает.

Ответы [ 3 ]

1 голос
/ 24 сентября 2019

Вам необходимо заключить значение атрибута в кавычки, если оно содержит ограниченный символ:

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

Однако , учитывая, что атрибуты id должны бытьуникальным в DOM вы должны использовать id селектор в первом случае:

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

Если у вас есть несколько элементов с одинаковым id, то это отдельная проблема, которую необходимо решить в вашемHTML.

1 голос
/ 24 сентября 2019

Вы можете использовать шаблонный литерал для лучшего синтаксиса

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

1 голос
/ 24 сентября 2019

Изменить котировки "'"

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