Мне просто интересно, возможно ли вообще назначить имя атрибута через.attr(), используя предопределенную переменную? Пример ниже покажет, что я имею в виду.
HTML
<select id="dobPicker" data-test="1" data-another-test="2">
<option></option>
</select>
<div class="select">
<ul>
<li>
</ul>
</div>
JQuery
$(document).ready(function() {
var attrs = $("select")[0].attributes;
for (var i = 0; i < attrs.length; i++) {
var attrName = attrs[i].nodeName,
attrVal = attrs[i].nodeValue;
if (attrVal.length == 0) {
attrVal = "NULL";
}
$(".select").attr({
attrName: attrVal
});
}
});
Пожалуйста, имейте в виду, это очень короткий пример. У меня есть намного более сложные методы для создания пользовательского выбора, предварительно обернув исходный выбор в <div class='select'>
, но в любом случае это не имеет значения. Поскольку вы можете увидеть, что имена атрибутов и переменные возвращаются, проблема в том, что (очевидно, они будут) attrName отображается как attrName, а не эквивалент переменной, тогда как attrVal работает. Есть ли способ вывода переменной для имени атрибута?
не используйте использование объекта просто имя значение пара .attr('somename','somevalue')
;
$(".select").attr(attrName, attrVal);