我只是想知道,是否可以使用预先确定的变量通过 .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 有效。有没有可能的方法来输出属性名称的变量?