Я хотел бы применить другой стиль для всех якорей, содержащих определенное слово. Можно ли это сделать в чистом CSS? Это нормально, если только CSS3.
Правило CSS на основе контента
Ответ 1
Нет. :contains
был предложен, но не находится в текущем рабочем проекте селекторов CSS3.
Вам понадобится JavaScript, например:
for (var i= document.links.length; i-->0;)
if (/\bSpecificWord\b/i.test(document.links[i].innerHTML)
document.links[i].style.color= 'red';
Ответ 2
Вы можете сопоставлять значения атрибутов, хотя. Если вы используете пользовательские атрибуты данных, он может получить то, что вы хотите.
Ответ 3
Да, в CSS3 есть селектор :contains
.
li:contains("special"){text-style: italic;}
упоминается около 1/2 ниже этой страницы здесь
Это то, что вы также можете сделать с jQuery тоже...
Ответ 4
Используйте Hitch, который представляет собой крошечную библиотеку JS. Вы можете легко применить стиль, основанный на контенте, к любому элементу. Он имеет множество опций и отлично подходит для условного стиля.
Ответ 5
@bobince помогите мне, и я написал этот код:
var x = document.getElementsByTagName('TD');
for (var i= x.length; i-->0;)
if (x[i].innerHTML=='closed')
x[i].parentNode.style.background= '#FEE';
Если содержимое некоторого TD " закрыто", то цвет фона TR будет идентифицирован светло-красным цветом.