2013-10-24 36 views
0

我只是想知道,是否有可能使用預定義變量通過.attr()分配屬性名稱?下面的例子說明我的意思..通過變量(jQuery)分配屬性名稱

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的作品。有沒有任何可能的方式來輸出屬性名稱的變量?

回答

3

不要使用對象使用簡單名稱值對.attr('somename','somevalue');

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

fiddle here

+0

善於思考,乾杯!總是結束很短的解決方案.. – Banny

+1

歡呼!很高興它幫助....快樂編碼.. :) – bipen