Скрыть строку на основе значения одного столбца - PullRequest
0 голосов
/ 12 декабря 2011

Учитывая таблицу ниже

  +-----------------------+-----------------+---------------+
  |     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 ]

4 голосов
/ 12 декабря 2011

Вы помещаете эту функцию в вызов DOM-ready. Так он срабатывает, когда DOM готов? (Вау, это было повторение) Я только что попробовал это на jsFiddle, и он отлично работает

См. здесь

Вам нужно что-то вроде

$('#taget_div').hide().html(data.result).fadeIn('slow', function() {
    var userid = 212;
    $('tr').find('td:eq(0):contains('+userid+')').parent().css('backgroundColor', 'yellow');
});
1 голос
/ 12 декабря 2011
uid = "212" //note define uid as a string
$('td:contains('+uid+')').parent().css("background", "yellow")

или вы также можете написать

$('td:contains('+uid+')').closest("tr").css("background", "yellow")
1 голос
/ 12 декабря 2011

попробуйте без eq(0) и поставьте userid в кавычки

$('tr').find('td:contains("'+userid+'")').parent().css('backgroundColor', 'yellow');
0 голосов
/ 12 декабря 2011

для свойства css, попробуйте это вместо

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

не уверен, что ваш селектор, но тот, который поймал мои глаза

...