Что вы таки под этим опять подразумеваете?
|
Ну проблема о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:59. |