2016-04-20 1 views
0

В поисках предложений о том, как скрыть все <td> в конкретной таблице, которая соответствует содержанию в примере ниже (6 пробелов):Скрыть все <td> с конкретным содержанием, используя JQuery

<td id="" class="">  </td> 

Firebug показывает, как

<td class="" id=""> 

</td> 
+1

Итак, что вы пробовали? Это не сайт «сделай мою работу для меня» - вы показываете, что вы пробовали, мы (возможно) попробуем помочь исправить это. –

+0

Я пробовал загрузки из: содержит, но не может заставить его работать;) – dubbs

+1

Опубликовать код, который должен работать, если эти белые пробелы на самом деле не являются чем-то другим. –

ответ

0

Вы должны использовать jQuery contains.

Что-то вроде:

$("td:contains('  ')").css("display", "none"); 
+0

Хорошо, так с петлевым подходом - как это будет работать? – dubbs

+0

Что касается цикла? Зачем использовать подробный 'css()', когда 'hide()' делает то же самое и проще? –

+0

@ErikPhilips просто привычка, я думаю, рядом с .hide() сохранит предыдущее состояние элементов .... что не было частью вопроса. –

4

Если вы хотите, чтобы предназначаться фактические <td> элементы на основе их id и class атрибутов, вы можете использовать attribute equals selector, чтобы справиться с этим:

// Hide any <td> elements that have an empty ID and class attributes 
$('td[id=""][class=""]').hide(); 

Аналогично, если вы хотели настроить эти элементы на основе их содержимого, тогда вы можете использовать селектор contains():

// Hide any elements that contain six consecutive spaces 
$('td:contains("  ")').hide(); 

Однако, если вы хотите, чтобы целевые элементы, которые содержали точно, что содержание, вы, вероятно, необходимо будет обрабатывать его через filter() вызова:

// Hide any <td> elements that have content that is exactly six spaces 
$('td').filter(function(){ $(this).text() == '  '; }).hide(); 
0

Если по какой-то причине :contains не работает, вы можете использовать метод jquery .html() в цикле для проверки содержимого:

$('td').each(function() { 
    if ($(this).html() === '  ') { 
    $(this).hide() 
    } 
}) 
Смежные вопросы