Как получить названия цветов
Здравствуйте, помогите пожалуйста, мне нужно получить названия цветов.
На странице такой код: <div style="width:230px;margin-top:10px;"> <div style="width:19px;float:left; height:19px;margin-left:5px;margin-top:3px;cursor:pointer;background: url('/images/color/black.gif');" onClick="getcolor('/catalog/img_loader/im/123701_man_black',123701);" > </div> <div style="width:19px;float:left; height:19px;margin-left:5px;margin-top:3px;cursor:pointer;background: url('/images/color/blue.gif');" onClick="getcolor('/catalog/img_loader/im/123701_man_blue',123701);" > </div> Мне нужно в строчку вывести текстом - black, blue В коде выделил необходимые части. |
Dodik,
:cray:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
</head>
<body>
<div style="width:230px;margin-top:10px;"></div>
<div style="width:19px;float:left; height:19px;margin-left:5px;margin-top:3px;cursorointer;background: url('/images/color/black.gif');" onClick="getcolor('/catalog/img_loader/im/123701_man_black',123701);"></div>
<div style="width:19px;float:left; height:19px;margin-left:5px;margin-top:3px;cursorointer;background: url('/images/color/blue.gif');" onClick="getcolor('/catalog/img_loader/im/123701_man_blue',123701);"></div>
<script>
var a = document.getElementsByTagName('div'),
s = [];
for (var i = 0; i < a.length; i++) {
if (a[i].style.background) {
if (a[i].style.background.split(/\/|\./))
s.push(a[i].style.background.split(/\/|\./).splice(-2, 1))
}
}
document.write(s)
</script>
</body>
</html>
|
рони,
Вытаскивать один элемент из массива с помощью splice - это круто! Это даже круче, чем slice(-2, -1) Почему не запомнить результат сплита во временную переменную (и тогда заодно не придется сплитить дважды), а потом не взять нужный элемент по length-2 ? |
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
</head>
<body>
<div style="width:230px;margin-top:10px;"></div>
<div style="width:19px;float:left; height:19px;margin-left:5px;margin-top:3px;cursorointer;background: url('/images/color/black.gif');" onClick="getcolor('/catalog/img_loader/im/123701_man_black',123701);"></div>
<div style="width:19px;float:left; height:19px;margin-left:5px;margin-top:3px;cursorointer;background: url('/images/color/blue.gif');" onClick="getcolor('/catalog/img_loader/im/123701_man_blue',123701);"></div>
<script>
var a = document.getElementsByTagName('div'),
s = [];
for (var i = 0; i < a.length; i++) {
if (a[i].style.background) {
var tmp = a[i].style.background.match( /url\s*\([^)]*?([a-z]*)\.gif/ );
// var tmp = a[i].style.background.match( /\b([a-z]*)\.gif/ ); // как вариант чуть попроще
if( tmp ) s.push( tmp[1] )
}
}
document.write(s.join("<br>"))
</script>
</body>
</html>
|
| Часовой пояс GMT +3, время: 21:35. |