Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск тега td class="spacerow", помогите найти ошибку 
V
    Опции темы
magelan
Дата 5.11.2011, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 5.4.2010

Репутация: 3
Всего: 16



В ие 8 работать не будет, а так - все пучком. 
PM MAIL   Вверх
nule
Дата 5.11.2011, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Цитата(magelan @ 5.11.2011,  11:55)
В ие 8 работать не будет, а так - все пучком.

Ну здрасьте :(
А мне как раз в основном для IE8.
А есть кроссбраузерный вариант?
PM MAIL   Вверх
magelan
Дата 5.11.2011, 18:56 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 5.4.2010

Репутация: 3
Всего: 16



ослики не ищут td тагнеймами
как-то так надо, наверное:
Код

var tables = document.getElementsByTagName( 'table' );
for( var ti = 0; ti < tables.length; ti++ )
     with( tables[ ti ])
          for ( var i=0; i<=rows.length; i++ )
               for ( var j=0; j<=rows[ i ].cells.length; j++ )
                    if( rows[ i ].cells[ j ].className.indexOf( 'spacerow' ) != -1 )
                         tdClSpacerow.push( rows[ i ].cells[ j ]);

поправил проверку, т.к. в атрибуте класс может быть указанно больше одного класса, она более корректна, чем сравнение, но все равно не верная, класс надо разделять с помощью split на массив и сравнивать spacerow с элементами массива...

Это сообщение отредактировал(а) magelan - 5.11.2011, 19:01
PM MAIL   Вверх
z-END
Дата 5.11.2011, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 1
Всего: 102



Цитата(magelan @  5.11.2011,  19:56 Найти цитируемый пост)
ослики не ищут td тагнеймами

что-то мне подсказывает все они ищут, если на странице DOM не через пень-колоду...


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
magelan
Дата 5.11.2011, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 5.4.2010

Репутация: 3
Всего: 16



мое дело предупредить... дальше можете проверять сами. smile 
PM MAIL   Вверх
nule
Дата 5.11.2011, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Цитата(magelan @ 5.11.2011,  19:11)
мое дело предупредить... дальше можете проверять сами. smile

Ладно, напишу как дойдет дело до 8.
PM MAIL   Вверх
z-END
Дата 5.11.2011, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 1
Всего: 102



Цитата(magelan @  5.11.2011,  20:11 Найти цитируемый пост)
мое дело предупредить... дальше можете проверять сами

народ вы путаете...
IE прекрасно отрабатывает. 
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>    
<table><tr><td>dsdsa d</td></tr><td class="spacerow">DDD</td></table>
</body>
<script>
window.onload=function(){
    var tdclasses = document.getElementsByTagName("td");
    tdClSpacerow = new Array();
    for (i=0; i<tdclasses.length; i++ ) {
         if (tdclasses[i].className == 'spacerow' ){
              tdClSpacerow.push(tdclasses[i])
        }
    }
    alert(tdClSpacerow);
};
</script>
</html>




--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
nule
Дата 5.11.2011, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Есть мнение, что getElementsByClassName не везде работает, но здесь оно не используется.
PM MAIL   Вверх
z-END
Дата 6.11.2011, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 1
Всего: 102



Цитата(nule @  5.11.2011,  20:35 Найти цитируемый пост)
Есть мнение, что getElementsByClassName не везде работает, но здесь оно не используется.

есть мнение, что здесь мы обсуждаем getElementsByTagName


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
magelan
Дата 7.11.2011, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 5.4.2010

Репутация: 3
Всего: 16



Цитата(z-END @ 6.11.2011,  19:19)
Цитата(nule @  5.11.2011,  20:35 Найти цитируемый пост)
Есть мнение, что getElementsByClassName не везде работает, но здесь оно не используется.

есть мнение, что здесь мы обсуждаем getElementsByTagName

пришел на работу проверил getElementsByTagName, действительно работает (наверное у меня были глюки с браузером или ошибки в коде, когда я на это налетал)
но проверка класса остается открытой, никто не застрахован от:
Код

<td class="spacerow " />
<td class="spacerow crop10 m22" />
<td class="my_td spacerow" />

поэтому, проверять надо, например, так:
Код

var checkClass =  function( cls, test )
{
    if( cls.indexOf( ' ' ) == -1 )
        return (cls == test );
    else
    {
        var a = cls.split( ' ' );
        for( var i = 0; i < a.length; i++ )
            if( a[ i ] == test )
                return true;
        return false;
    }
}

PM MAIL   Вверх
$дмитрий
Дата 7.11.2011, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 5
Всего: 45



Цитата

Ищу все теги td с class="spacerow"

Код

$('td.spacerow');

И все дела smile 
PM MAIL   Вверх
magelan
Дата 7.11.2011, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 5.4.2010

Репутация: 3
Всего: 16



все дела это +100кб на страницу ради такой проверки? 

перекреститесь что-ли.

Это сообщение отредактировал(а) magelan - 7.11.2011, 12:44
PM MAIL   Вверх
z-END
Дата 7.11.2011, 13:03 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 1
Всего: 102



Цитата(magelan @  7.11.2011,  13:43 Найти цитируемый пост)
все дела это +100кб

меньше 60 )) http://code.google.com/p/jqueryjs/download...ry-1.3.2.min.js

да и что такое 100 кб, которые загрузятся 1 раз и далее будут жить в кэше...  это меньше 1 секунды при 1-мегабитной скорости.. если быстрее то вообще моментально..



--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
$дмитрий
Дата 7.11.2011, 17:22 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 5
Всего: 45



Цитата

все дела это +100кб на страницу ради такой проверки? 

Наверняка кроме этой проверки на сайте есть еще работа для JS, а на фреймворке стандартные задачи всегда решаются быстрее. Зачем тратить драгоценное время на написание километрового кода, когда все решается одной строчкой
Что касается размера: не нужно в 3 раза преувеличивать, сжатый Jquery 1.6 весит 30Kб, но даже 100Кб это совершенно не критично, прошло время dial-up, настала эра быстрого интернета и замечательных фреймворков. А если фреймворк подключен из хранилище есть вероятность того что он уже находится в кеше

p.s. Экономить нужно там где это нужно!
PM MAIL   Вверх
magelan
Дата 7.11.2011, 23:16 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 5.4.2010

Репутация: 3
Всего: 16



гаджеты никто не отменял, там с инетом не все так радужно.

если вам на браузере понадобился толстый клиент, значит либо вы делаете портальное интранет решение, либо что-то неправильное.

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0567 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.