0

次のようなhtmlコードがあります。

<table>
    <tr>
        <td bgcolor=yellow>LED #1</td>
        <td id=led0 bgcolor=red>ON</td>
    </tr>
    <tr>
        <td bgcolor=yellow>LED #2</td>
        <td id=led1 bgcolor=red>ON</td>
    </tr>
    <tr>
        <td bgcolor=yellow>LED #3</td>
        <td id=led2 bgcolor=red>ON</td>
    </tr>
    <tr>
        <td bgcolor=yellow>LED #4</td>
        <td id=led3 bgcolor=red>ON</td>
    </tr>
    <tr>
        <td>
            <button>number 1</button>
        </td>
    </tr>
    <tr>
        <td>
            <button>number 2</button>
        </td>
    </tr>
    <tr>
        <td>
            <button>number 3</button>
        </td>
    </tr>
</table>

私はこのようなことを達成したいと思います:

$('button').click(function() {
  var index = $("button").index(this);   
 // alert(index);
  $("#led[index]").html('<div style="background:#cccccc" >OFF</div>');

  
});

言い換えれば、押されたボタン(すでに機能している)を検出id="led[index]"し、変数を使用して td 要素のhtmlコードを変更し"index"て、正しいLED番号を見つけたいと考えています。

何か案が?

4

4 に答える 4

2

次の方法でカンカテ化します。

$("#led" + index);
于 2013-03-27T23:33:18.717 に答える
1

さらに一歩進んで、 と を切り替えられるようにしましONOFF。あなたの主な問題は、連結しなかったことです。indexこれはそのように行う必要があります+ index +。次のjQueryコードを使用しました:

$('button').click(function() {
var index = $("button").index(this);   
// alert(index);
  // You must concatenate index with "+"
  if ($("#led"+index+":contains('ON')").length > 0)
    $("#led"+index).html("OFF").css("background-color", "red");
  else if ($("#led"+index+":contains('OFF')").length > 0)
    $("#led"+index).html("ON").css("background-color", "green");
});

また、動作するJSFiddleを作成して、動作することを確認できるようにしました。

ONまたはOFFが変更された場所に、必要な HTML を配置できます。

于 2013-03-28T00:00:34.897 に答える
0

コードを 2 つ編集する必要があります。

まず、attr('id')メソッドを使用してインデックスを取得する必要があります。

次に、インデックスを jQuery セレクターに連結する必要があります。

$('button').click(function() {
    var index = $(this).attr('id');   
    $("#led"+index).html('<div id="led'+index+'" style="background:red" >ON</div>');
});
于 2013-03-27T23:35:07.860 に答える
0

使用してから、インデックスをid$(this).attr("id");に連結したいでしょう#led

        $('button').click(function() {
          var index = $(this).attr("id");
          $("#led" + index).html('<div id="led'+index+'" style="background:red" >ON</div>');

        // code
    });

HTML:

<button id="someID">
于 2013-03-27T23:32:12.517 に答える