Что вы таки под этим опять подразумеваете?
|
Ну проблема о5 - он на массив не разбирает! Мне просто нужен особый RegExp для split и все!
Почему помочm не можете? Мне дано у элемента:
#box {
background-image:url(image.png), linear-gradient(bottom, rgb(76,47,92) 41%, rgb(107,76,120) 71%, rgb(140,107,156) 86%);
}
Нужно чтобы получилось: array[0] = "url(image.png)"; array[1] = "linear-gradient(bottom, rgb(76,47,92) 41%, rgb(107,76,120) 71%, rgb(140,107,156) 86%)"; Я только знаю, что при помощи join можно начать обратный процесс:
background = array.join(",");
|
Разбирает:
<div id="block" style="background:url(clock.png),-moz-linear-gradient(bottom, #F7E82C 49%, #FFFF47 75%, #FFFF64 88%)"></div>
<script>
function st(prop){
return typeof prop == 'string' ? prop.match(/[^, ].+?(?=, url|, -moz-linear-gradient|$)/g) : prop.join(', ')
}
a=document.getElementById("block").style;
alert(st(a.background).join('\n\n'))
b=['url(no.png)'];
a.background=st(b);
alert(st(a.background).join('\n\n'))
</script>
|
Aetae,
Я все равно не понимаю - у тебя вообще не массив (точнее не объект)... Кароче - есть что-нибудь более понятное? |
Цитата:
|
Блджад. *facepalm*
<div id="block" style="background:url(clock.png),-moz-linear-gradient(bottom, #F7E82C 49%, #FFFF47 75%, #FFFF64 88%)"></div>
<script>
function st(prop){
return typeof prop == 'string' ? prop.match(/[^, ].+?(?=, url|, -moz-linear-gradient|$)/g) : prop.join(', ')
}
backgroundImage = document.getElementById("block").style.backgroundImage;
array=st(backgroundImage);
alert(array[0])
alert(array[1])
</script>
Так понятее? Цитата:
|
Все - понятно! Но можно ли найти что-то общее:
url -moz-linear-gradient В RegExp. |
Можно, но включить все варианты вручную - надежнее.
Как-то так:
/[^, ].+?(?=, [a-z\-]{4,}|$)/g
|
удалил коммент
|
Хех, я какбэ и так универсальную функцию сделал:
global.splitCssProp(prop){
return typeof prop == 'string' ? prop.match(/[^, ].+?(?=, [a-z\-]{4,}|$)/g) : *!*prop.join(', ')*/!*;
}
Те, если аргументом идёт массив, то она возвращает строку.) Совсем вы, твоварисчъ, бездумно копируете. |
| Часовой пояс GMT +3, время: 23:17. |