0

私はxmlファイル用のjavascriptでテーブルツリーを書いています.それぞれにボタンが必要です. このボタンをクリックすると、テキストを「-」から「+」に、またはその逆に変更する必要があります。通常、次のコードが機能することはわかっています。

function change()
{
    if(document.getElementsById("myButton").innerHTML == "-"){
        document.getElementById("myButton").innerHTML = "+";
    }
    else{
        document.getElementById("myButton").innerHTML = "-";
    }
}

これをそのまま使用できない理由は、ボタンがループで作成され、すべて同じ ID を持つためです。

ボタンが作成されるたびに Id に増分番号が追加されるようにするか、上記のコードを実行する別の方法を用意していただけると助かります。

4

2 に答える 2

1

ID を使用する必要はまったくありません。代わりに、変更する要素を引数としてchange関数に渡します。関数は次のようになります。

function change(element)
{
    if(element.innerHTML == "-"){
        element.innerHTML = "+";
    }
    else{
        element.innerHTML = "-";
    }
}

次に、ボタンを作成すると、onclick属性は次のようになります。

onclick="change(this);"
于 2013-06-12T15:15:26.060 に答える
1

各ボタンの作成をループする場合は、カウンター変数を作成するか、for ループの変数を使用し、各ループで変数を 1 ずつ増やして ID に追加します。

for(var i = 0; i < some_number; i++){
  var ID = "myButton"+i;
  //Other code
}
于 2013-06-12T15:15:03.373 に答える