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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсчет элементов, Как выбрать нужные 
:(
    Опции темы
Gold Dragon
  Дата 11.3.2004, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



Как подсчитать у скольких <div> ID начинается с "r"
Код
<div id="r4"></div>
<div id="f2"></div>
<div id="r5"></div>
<div id="e3"></div>




--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Alx
Дата 11.3.2004, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



<html>
<script>
for (var i; i<document.all.length; i++)
{if (document.all[i].tagName == "DIV" && document.all[i].id.indexOf("r") != -1)
bod.virtval++;
}
</script>
<body virtval="0">
<div id="r4"></div>
<div id="f2"></div>
<div id="r5"></div>
<div id="e3"></div>
</body>
</html>

определяет правда на наличие символа "r" в ID. Т.е. посчитает и "r5" и "tpru!".


--------------------
PM MAIL WWW ICQ   Вверх
GoodBoy
Дата 11.3.2004, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

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



Заменить это:
Код
if (document.all[i].tagName == "DIV" && document.all[i].id.indexOf("r") != -1)

на вот это:
Код
if (document.all[i].tagName == "DIV" && document.all[i].id.indexOf("r") == 0)

и все будет гут!!!


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Alx
Дата 11.3.2004, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



вот правильный код, я не успел тогда проверить - деньги кончились!

<html>
<script>
function func()
{for (var i=0; i<=document.all.length-1; i++)
{if (document.all[i].tagName == "DIV" && document.all[i].id.match("^r") != null)
bod.virtval++;
}
alert(bod.virtval);
}
</script>
<body id="bod" virtval="0" onload="func();">
<div id="r4"></div>
<div id="f2"></div>
<div id="r5"></div>
<div id="e3"></div>
</body>
</html>


--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 11.3.2004, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



кстати, теперь только на первый символ проверяет! т.е. теперь "r5" он посчитает, а "tpru!" нет! smile.gif


--------------------
PM MAIL WWW ICQ   Вверх
GoodBoy
Дата 11.3.2004, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

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



2 ALEXANDRO А зачем регэкспом?? document.all[i].id.indexOf("r") вернет тебе 0 только в том случае, когда символ "r" находится в первой позиции...


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Alx
Дата 11.3.2004, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



да? не знал. я как запомнил год назад, что если "!= -1", значит он там есть, а если "== -1", то его там нет!


--------------------
PM MAIL WWW ICQ   Вверх
GoodBoy
Дата 11.3.2004, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

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



Нумерация начинается с 0, т. е. если элемент найден в 1-й позиции, то функция вернет 0, если в 15-й - то 14 и т.д. -1 возвращается в случае, если искомый элемент в строке не присутствует.


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Gold Dragon
Дата 11.3.2004, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



А для надежности нужно будет использовать

document.getElementById
document.all
document.layers

я прав?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
GoodBoy
Дата 11.3.2004, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

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



Не совсем... Да, document.all сработает практически только в ИЕ, а для остальный браузеров, в зависимости от того, какой это браузер, нужно использовать или document.getElementById (для DOMных) браузеров или document.layers для старых Нетскейпов и иже с ними для доступа к конкретному элементу страницы...
НО! Я, к сожалению, не помню можно ли как-то получить список всех элементов страницы в этих случаях... :-(((
Если Вы решите этот вопрос, то скиньте сюда! А в общем случае для конкретного элемента страницы можно воспользоваться этом:
Код
dom  = (document.getElementById) ? true : false;
nn4  = (document.layers) ? true : false;
ie   = (document.all) ? true : false;
ie4  = ie && !dom;
ie5  = ie && dom;

function getRef(id) {    
   if (dom) return document.getElementById(id);    
   if (ie4) return document.all[id];    
   if (nn4) return document.layers[id];
}

И основную проверку записать в виде:
Код
if (getRef(i).tagName=="DIV" && getRef(i).id.indexOf("r")==0) { ...



--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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