2012-03-29 3 views
2

Мне нужно применить стиль к повторяющемуся элементу, который имеет фиксированный префикс в своем ID. например для сгенерированного идентификатора old-price-520, old-price является префиксом, а числовой суффикс будет отличаться.Как применить стили к элементу с префиксом ID?

Как применять стили к этим элементам или как обращаться к ним с помощью CSS?

Вот иллюстрация того, что я хотел бы сделать:

#old-price-* { 
    // some styles 
} 

ответ

4
div[id|="old-price"] 

будет выбирать все div Элементы с id = old-price-*

Handycap - это производительность, которая довольно плохая, по сравнению с мощностью id-селектора #. Также он имеет более низкую специфичность, чем нормальный #.

редактировать:

fiddle

+0

Это лучший вариант. Это CSS2, и он даже работает в IE7. – thirtydot

+0

+1, хороший, я не знал об этом. –

+0

@christoph: Я пробовал этот способ, не знаю, но он не работает. Я использую Firefox 11.0 –

-1

Вы можете использовать JQuery, чтобы сделать это с помощью атрибута 'начинается с селектором'

http://api.jquery.com/attribute-starts-with-selector/

+1

-1 это не вопрос. Перестаньте использовать jquery для всего ... – Christoph

+0

Он специально не сказал, что не может использовать jQuery, это действительный ответ на вопрос. – Magrangs

+0

Вы видите какие-либо теги jQuery, писал ли он о jQ, он предоставил код, где он использовал jQ? – Christoph

2

вы можете сделать это с 'начать-с' селектор атрибута в CSS3, например, так:

[Attr^="value"] 

и конкретный пример будет выглядеть это:

*[id^="old-price-"] 

есть, вероятно, больше способов достижения такого же результата, быстрый поиск привел к этому attribute selectors depiction для быстрой справки.

2

Вы можете попробовать использовать атрибут CSS3 селекторов, как это:

div[id^=old-price] 
{ 
    // some styling 
} 

Однако вам нужно добавить некоторые JavaScript для браузеров, которые не поддерживают

+0

Это также работает –

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