根据一个列值隐藏行

时间:2011-12-12 03:48:31

标签: javascript jquery html-table

见下表

  +-----------------------+-----------------+---------------+
  |     212               |   fred          |   red         |
  +-----------------------+-----------------+---------------+
  |     230               |   Tom           |   blue        |
  +-----------------------+-----------------+---------------+
  |     240               |   Bob           |   green       |
  +-----------------------+-----------------+---------------+
  |     253               |   Jim           |   grey        |
  +-----------------------+-----------------+---------------+

我试图使用以下内容突出显示一行但没有成功。

  var userid = 212;
  $('tr').find('td:eq(0):contains('+userid+')').parent().css('backgroundColor', 'yellow');

这显然是错误的,因为它不起作用。我哪里错了?

编辑:所以我从我的页面剪切并粘贴了确切的表格,它也适用于jsfiddle。我没有说的是我有一个父页面,单击一个按钮,表格加载。单击表格中的按钮,然后加载突出显示按钮。上面的代码实际上在父页面上。不知怎的,它无法“看到”桌子?

4 个答案:

答案 0 :(得分:4)

您是否将该功能放入支持DOM的呼叫中。一旦DOM准备就绪,它会触发吗? (哇,这是重复的)我只是在jsFiddle上尝试过它并且工作正常

请参阅here

你需要像

这样的东西
$('#taget_div').hide().html(data.result).fadeIn('slow', function() {
    var userid = 212;
    $('tr').find('td:eq(0):contains('+userid+')').parent().css('backgroundColor', 'yellow');
});

答案 1 :(得分:1)

尝试不使用eq(0)并将userid放在引号

$('tr').find('td:contains("'+userid+'")').parent().css('backgroundColor', 'yellow');

答案 2 :(得分:1)

uid = "212" //note define uid as a string
$('td:contains('+uid+')').parent().css("background", "yellow")

或者你也可以写

$('td:contains('+uid+')').closest("tr").css("background", "yellow")

答案 3 :(得分:0)

对于css属性,请尝试使用

.css('background', 'yellow');

不确定你的选择器,但是那个被我的眼睛抓住的选择器

相关问题