Как получить названия цветов
Здравствуйте, помогите пожалуйста, мне нужно получить названия цветов.
На странице такой код: <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, время: 06:23. |