Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.03.2013, 09:07
Интересующийся
Отправить личное сообщение для Dodik Посмотреть профиль Найти все сообщения от Dodik
 
Регистрация: 15.07.2012
Сообщений: 29

Как получить названия цветов
Здравствуйте, помогите пожалуйста, мне нужно получить названия цветов.

На странице такой код:

<div style="width:230px;margin-top:10px;">


<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>


Мне нужно в строчку вывести текстом - black, blue

В коде выделил необходимые части.
Ответить с цитированием
  #2 (permalink)  
Старый 20.03.2013, 11:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Dodik,

<!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>
Ответить с цитированием
  #3 (permalink)  
Старый 20.03.2013, 15:56
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

рони,
Вытаскивать один элемент из массива с помощью splice - это круто!
Это даже круче, чем slice(-2, -1)
Почему не запомнить результат сплита во временную переменную (и тогда заодно не придется сплитить дважды), а потом не взять нужный элемент по length-2 ?
Ответить с цитированием
  #4 (permalink)  
Старый 20.03.2013, 16:18
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

<!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>

Последний раз редактировалось rgl, 20.03.2013 в 16:24.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить значение TD zsaz jQuery 3 16.11.2011 16:00
как получить загружений урл iframe или frame NOCaut Events/DOM/Window 0 15.11.2011 14:51
Как получить указатель на элемент вызвавший функцию pelayo Общие вопросы Javascript 9 29.06.2010 23:32
Как получить высоту DIV, установленную автоматически YOricH Internet Explorer 4 22.07.2009 17:15
Как получить список всех установленных плагинов VitAngel Internet Explorer 0 15.07.2009 09:13