(?P
- Круглые скобки группируют регулярное выражение между ними. Они фиксируют текст, сопоставляемый регулярным выражением внутри них, на которое может ссылаться имя между острой скобкой. Имя может состоять из букв и цифр.
Скопировать пасту из: http://www.regular-expressions.info/refext.html
Нет никакого способа сделать это с CSS - это - часто требуемая функция, но не включенное в спецификацию все же. Вы также не можете сделать этого непосредственно с JS, но существует вид hacky обходного решения:
$('.style2').addClass ('style1');
можно достигнуть той же функциональности, позволив элементам наследовать несколько стилей.напр.
<p class="style1 style2">stuff</p>
и затем Ваш css включал бы, например:
.style1 {width:140px;}
.style2 {height:140px;}
редактирование: на самом деле ответ robert мог бы лучше приблизить метод, которого Вы пытаетесь достигнуть
.style1, .style2 {width: 140px;}
.style2 {height: 140px;}
<p class="style2">i will have both width and height applied</p>
Один способ использовать тот же код для нескольких блоков следующий:
.style1, .style2 { width: 140px; }
Некоторые опции:
Генерируют Ваш CSS динамично, или на лету или поскольку Вы создаете свои таблицы стилей (я использую макросы Visual Studio, чтобы реализовать константы для шрифтов, чисел и цветов - и вычислить легкие/темные оттенки цветов). Эта тема была очень обсуждена в другом месте на этом сайте.
, Если у Вас есть много стилей, которые 140 пкс шириной и Вы хотите иметь гибкость изменения того размера для всех тех стилей, Вы могли сделать это:
div.FixedWidth {width:140px;}
div.Style1 {whatever}
div.Style2 {whatever}
и
<div class="Style1 FixedWidth">...</div>
<div class="Style2 FixedWidth">...</div>
Вы говорите о том, чтобы получить все вычисленные стили, установленные для определенного Элемента, и применить их ко второму Элементу?
Если это так, я думаю, вам понадобится перебирать вычисленные стили одного элемента, используя и затем применять их к свойствам cssText других элементов, чтобы установить их как встроенные стили.
Что-то вроде:
el = document.getElementById('someId');
var cStyle = '';
for(var i in el.style){
if(el.style[i].length > 0){ cStyle += i + ':' + el.style[i] + ';';
}
$('.someClass').each(function(){ this.style.cssText = cStyle; });
Если вы знаете, что будете иметь дело только с конечным набором CSS properties, вы можете упростить приведенное выше следующим образом:
el = $('#someId');
var styleProps = {'border-top':true,'width':true,'height':true};
var cStyle = '';
for(var i in styleProps){
cStyle += styleProps[i] + ':' + el.style(styleProps[i]) + ';';
}
$('.someClass').each(function(){ this.style.cssText = cStyle; });
Я оговорюсь в приведенном выше коде тем фактом, что я не уверен, будут ли IE возвращать объект CSSStyleDeclaration для свойства стиля HTMLElement, например Mozilla (первый пример ). Я также не проводил вышеупомянутый тест, поэтому полагайтесь на него только как на псевдокод.