【问题标题】:Assigning attribute names via variables (jQuery)通过变量分配属性名称(jQuery)
【发布时间】:2013-10-24 10:46:44
【问题描述】:

我只是想知道,是否可以使用预先确定的变量通过 .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
        });
    }
});

请记住,这是一个非常简短的示例。我有更复杂的方法来创建自定义选择,方法是将原始选择预先包装在 &lt;div class='select'&gt; 标记中,但无论如何这都不相关。如您所见,返回了属性名称和变量,问题是(显然他们会) attrName 显示为 attrName 而不是等效的变量,而 attrVal 有效。有没有办法为属性名输出一个变量?

【问题讨论】:

    标签: jquery arrays for-loop attributes


    【解决方案1】:

    不要使用对象,只使用名称值对.attr('somename','somevalue')

     $(".select").attr(attrName, attrVal);
    

    fiddle here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-23
      • 2016-06-30
      • 1970-01-01
      • 2019-02-07
      相关资源
      最近更新 更多