0

私はhtmlでこのようなものを持っています

<div class="change"><div>
<div class="change"><div>
<div class="change"><div>
<div class="change"><div>

ここで、Javaスクリプトに進みます

var base = document.getElementsByClassName("change");
base[0].setAttribute();
console.log(base[0]);

コンソールから、オブジェクトを取得していることがわかりますが、この方法で編集することはできません。属性を編集/追加する他の可能性はありますか (100 個の要素を好きになるには onclick 関数を追加する必要があります)。かなり難しいです。 document.getElementById でより高いオブジェクトを取得するには、だから...誰かがこれに対する解決策を得ましたか?^^

4

4 に答える 4

0

以下のコードを使用してこれを実現できます。

var nodes = document.querySelectorAll('.change'),
    length = nodes.length,
    counter = 0;

for (; counter < length; counter += 1) {
    // set an attribute.
    nodes[counter].setAttribute('data-test', 'test' + counter);
    // add a click event.
    nodes[counter].addEventListener('click', function () {
        alert('Yep, you clicked me');
    }, false);
}

デモはこちら

于 2013-07-20T02:14:45.847 に答える
0

jQueryを使用するだけです。次に、次のようなことをするだけです。

$(document).ready(function () {
    $('.change').click(function () {
        $(this).attr('class', 'new-value');
    });
});

JSFiddle のデモはこちら

于 2013-07-20T01:48:20.930 に答える