2013-03-26 2 views
4

Мне было интересно, есть ли способ запросить элементы в соответствии с содержащимся в нем словом. Так что, если у меня есть:Техника CSS «внутренний-html»?

<div id="globalPageHeader"> 
    <h1>Home</h1> 
</div> 

Я хочу, чтобы любой #globalPageHeader h1, который имеет слово Home в нем, чтобы иметь display свойство none.

Очевидно, что этот пример не будет работать, но мне было интересно, если есть что-то вроде этого:

#globalPageHeader h1(innerHTML == "Home") { 
    display: none; 
} 

Я не хочу использовать в JavaScript innerHTML, потому что у меня нет доступа к яваскрипта части админа ,

Любая помощь очень ценится!

+0

Раньше существовал() псевдокласс класса contains(), но он был удален для того, кто знает почему - однако jQuery все еще поддерживает его в своем селекторе sizzle –

+0

http://stackoverflow.com/questions/5441680/css-selector- based-on-element-text – digitalextremist

ответ

10

С чистым CSS это невозможно.

+0

Ahh. Ладно, я боялся этого. Благодаря! – randmath

4

Это невозможно с использованием CSS. Вы можете, однако, сделать это с помощью jQuery. Почему бы просто не добавить класс к требуемым тегам h1?

+0

Да, я бы сделал это, за исключением того, что он глобальный, это большая работа. Кроме того, нет jQuery, потому что у меня нет доступа к стороне JavaScript администратора. Спасибо хоть! – randmath

2

У меня была аналогичная проблема. Что вы можете сделать, так это добавить атрибут в элемент <h1>. Например title:

<div id="globalPageHeader"> 
    <h1 title='Home'>Home</h1> 
</div> 

А потом в CSS:

#globalPageHeader h1[title = 'Home'] { 
    display: none; 
} 

Он работал для меня.

+0

Почему бы просто не добавить класс? – Tim

Смежные вопросы