遍历整个表并检查span标记属性名称

时间:2012-11-23 10:41:19

标签: javascript jquery

HTML:

<table id="mytable">    
<tr>
<td class="cssred"><span name='478'>john</span></td>
</tr>
<tr>
<td class="cssred"><span name='478'></span></td>
</tr>
<tr>
<td class="cssred"><span name='478'></span></td>
</tr>
 <tr>
<td class="cssred"><span name='521'></span></td>
</tr>
<tr>
<td class="cssred"><span name='522'></span></td>
</tr>
</table>

JavaScript的:

$(this).find('span').attr('name');

我必须遍历整个表并检查任何span标记atrribute名称值是478然后使其父单元格类cssgreen

4 个答案:

答案 0 :(得分:8)

$("#mytable td:has(span[name='478'])").toggleClass("cssred cssgreen");

$("#mytable span[name='478']").parent().toggleClass("cssred cssgreen");

DEMO: http://jsfiddle.net/E55jb/

答案 1 :(得分:1)

试试这个

$('#mytable span').each(function() {
   if($(this).attr('name') == "478") $(this).parent().removeClass('cssred').addClass('cssgreen');
});

或更容易

$('#mytable span[name=478]').parent().removeClass('cssred').addClass('cssgreen');

答案 2 :(得分:0)

试试这个

  $('span[name="478"]').each(function(){
     $(this).parent().removeClass("cssred");
     $(this).parent().addClass("cssgreen");
  })

答案 3 :(得分:0)

<强>解决方案:

  $("#mytable span").each(function() {
       if($(this).attr("name") == "478"){ // check if name=478
       $(this).parent().removeClass("cssred"); // remove red bg
       $(this).parent().addClass("cssgreen"); // add green bg
  });