0

あらかじめ決められた変数を使用して .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 は機能します。属性名の変数を出力する方法はありますか?

4

1 に答える 1

3

オブジェクトを使用しないでください。単に名前と値のペアを使用してください.attr('somename','somevalue')

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

ここでフィドル

于 2013-10-24T10:51:16.427 に答える