Вот jsFiddle с соответствующей таблицей HTML.Использование prevAll для выбора всех разделов таблицы, содержащей ключевое слово
Я хочу использовать jQuery для выделения или удаления разделов таблицы, если они содержат определенные ключевые слова.
<table>
<tr class="mark"></tr>
<tr><td>apple</td></tr>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
<tr class="mark"></tr>
<tr><td>pear</td></tr>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
<tr class="mark"></tr>
<tr><td>apple</td></tr>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
<tr class="mark"></tr>
<tr><td>pear</td></tr>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
<tr class="mark"></tr>
<tr><td>apple</td></tr>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
<tr class="mark"></tr>
<tr><td>pear</td></tr>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
<tr class="mark"></tr>
<tr><td>apple</td></tr>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
</table>
Прямо сейчас, я могу использовать
$("td:contains('pear')").parent().prev().nextUntil(".mark").css("background-color", "red");
сделать то, что я хочу сделать (выделить все секции, разделенные ===
, которые содержат "грушу"). Но как я могу это сделать с помощью prevAll
для случаев, когда строка разделителя не находится непосредственно перед текстом, который я ищу? Я пробовал $("td:contains('pear')").parent().prevAll(".mark:first").nextUntil(".mark").css("background-color", "red");
, который, я думаю, должен работать, но выделяется только один раздел. Я думаю, что у меня отсутствует ключевая часть понимания того, как jQuery имеет дело с ситуациями, когда я хочу сопоставить действия, такие как prevAll()
, со списком элементов.
Просьба проигнорировать расположение плохих таблиц; это просто то, что я должен работать с T_T
Может быть, посмотреть на [mark.js] (https://markjs.io/) – dude