Скрыть элемент (li), содержащий строку?

Я хочу скрыть один элемент <li> из многих, который содержит (внутренний HTML) строку «независимо». Есть ли способ сделать это, не зная точной структуры innerHTML <li>?

Я знаю, как это скрыть, проблема только в том, чтобы найти. Я могу использовать Prototype для этого.


person user1856596    schedule 30.04.2013    source источник


Ответы (2)


Вы можете сделать что-то вроде этого:

$$("li:contains('whatever')").invoke("hide");

Чтобы объяснить: $$("li:contains('whatever')") возвращает список <li>, которые содержат «что угодно», а затем мы invoke используем метод hide для всего в этом списке.

Вот jsFiddle.

person Evan Hahn    schedule 30.04.2013

На самом деле, начиная с версии 1.7.X, Prototype.js по умолчанию использует точно такой же селекторный движок, что и jQuery, Sizzle:

http://sizzlejs.com/

Как указано здесь:

http://prototypejs.org/2010/04/05/prototype-1-7-rc1-sizzle-layout-dimensions-api-event-delegation-and-more/

Таким образом, методы, предложенные Эваном Ханом, должны помочь.

person kyeno    schedule 01.05.2013