2013-03-27 49 views
0

有一个html代码:ID为+号使用HTML标记找到他们的jQuery

<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数。

有什么想法?

回答

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,这样你可以看到它的工作。

您可以在ONOFF更改的位置放置任何HTML。

0

您可能需要使用$(this).attr("id");,然后串联指数为#led ID

 $('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"> 
2

Cancatenate方式如下:

$("#led" + index); 
0

您需要对您的代码进行两次编辑:

首先,您需要使用attr('id')方法来获取索引。其次,您需要将索引连接到您的jQuery选择器上。

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