[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как посчитать количество элементов
Эли4ка
Привет всем.Вот такой вопрос.Есть код примерно такого вида:

<div id="elem1" class="div-super">
<div
id="Subelem_one1"></div>
<div
id="Subelem_two1"></div>
</div>
<div
id="elem2" class="div-super">
<div
id="Subelem_one2"></div>
<div
id="Subelem_two2"></div>
</div>
<div
id="elem3" class="div-super">
<div
id="Subelem_one3"></div>
<div
id="Subelem_two3"></div>
</div>

..
<div id="elemN" class="div-super">
<div
id="Subelem_oneN"></div>
<div
id="Subelem_twoN"></div>
</div>


И нужно подсчитать сколько же div c id=elemN ,где N =1,2,3,4...n
Первое решение которое пришло в голову это получить класс этих div'ов,благо они одинаковы и уже потом перебирая массив вычерпать все id,чтобы не захватить лишних div'ов,которые вложены.
Но что-то мне это решение не очень кажется.Велосипедостроительное какое-то.Может есть пооригинальней?
Эли4ка
Второе решение это
getElementsByTagName('DIV')

и потом через условия в которых регулярное выражение(ибо у нас id динамическими меняющимися цифрами на конце) отбросить ненужное и таки образом получить родительские div.
Но это мне кажется еще большим велосипедостроительством. :(
Reh

var arr = document.getElementsByClassName('div-super');
var count = arr.length;
alert(count);


работает же, зачем усложнять, если только с таким классом больше элементов нету
SerginhoLD
var list = document.querySelectorAll('div[id^=elem]');
console.log(list.length);

как вариант

_____________
"internet explorer всех правильней отображает страницы" ©
redreem
не женское это дело... smile.gif
Эли4ка
Цитата (SerginhoLD @ 20.03.2016 - 19:17)
var list = document.querySelectorAll('div[id^=elem]');
console.log(list.length);

как вариант

дело в том,что там не elem,а elem1,elem2,..,elemN
Эли4ка
Цитата
работает же, зачем усложнять, если только с таким классом больше элементов нету

нету,просто я думала,что это велосипедостроительство,ибо почти всегда ищут по ид.
Цитата
не женское это дело...

redreem,ну значит будет
DragonNoir
Цитата (Эли4ка @ 21.03.2016 - 07:34)
Цитата (SerginhoLD @ 20.03.2016 - 19:17)
var list = document.querySelectorAll('div[id^=elem]');
console.log(list.length);

как вариант

дело в том,что там не elem,а elem1,elem2,..,elemN

Селектор div[id^=elem] выберет дивы, у которых ID начинается с elem.

_____________
- Сколько тебе надо времени на задачу?
- Месяц.
- А если дам тебе помощника?
- Тогда два месяца.
Эли4ка
Цитата
Метод document.querySelectorAll() возвращает список элементов HTML-документа, которые соответствуют указанной группе селекторов.

и
Цитата
Возвращает список элементов в пределах документа (поиск осуществляется в пределах указанного элемента) которые соответствуют указанной группе селекторов. Возвращает объект типа NodeList.

а про
Цитата
Селектор div[id^=elem] выберет дивы, у которых ID начинается с elem.

не могу найти,покажите,пожалуйста,где так написано
SerginhoLD
https://www.w3.org/TR/css3-selectors/#attribute-selectors
6.3.2

либо на русском https://webref.ru/css/selector/attr3

p.s. я фигею, скидываешь решение, а его и не проверяют, и не верят, и загулить по "css ^=" не могут

_____________
"internet explorer всех правильней отображает страницы" ©
SerginhoLD
Цитата (Эли4ка @ 21.03.2016 - 03:36)
нету,просто я думала,что это велосипедостроительство,ибо почти всегда ищут по ид.

ничего всегда по id не ищут, id вообще редко использую, только когда очень надо, или уверены что элемент уникальный и не будет ничего похожего, в противном случае вешают на все похожие элементы общий класс, и по нему (классу) делаю выборку

_____________
"internet explorer всех правильней отображает страницы" ©
DragonNoir
Цитата (Эли4ка @ 21.03.2016 - 10:17)
не могу найти,покажите,пожалуйста,где так написано

Ну, хотя бы здесь: https://www.w3.org/TR/selectors/#selectors

_____________
- Сколько тебе надо времени на задачу?
- Месяц.
- А если дам тебе помощника?
- Тогда два месяца.
Эли4ка
Цитата
p.s. я фигею, скидываешь решение, а его и не проверяют, и не верят, и загулить по "css ^=" не могут

проверила вообще-то,просто в 2 ночи.и допустила ошибку
и так-то это для сss .Ярких указателей на js не увидела
Zzepish
Эли4ка
jquery поддерживает css -селекторы. Видимо, натив - тоже.
Ты возьми и проверь
Эли4ка
Zzepish,проверю конечно
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.