Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вложенные элементы (https://javascript.ru/forum/dom-window/46868-vlozhennye-ehlementy.html)

telez 27.04.2014 17:54

Вложенные элементы
 
Помогите мне определиться.
У меня есть список UL в каждом элементе которого находится DIV.
В каждый DIV мне нужно вложить имя, цену, и еще какую-нибудь информацию. Какие элементы лучше использовать? Я думал LABEL, но прочитал, что он предназначен для INPUT

ruslan_mart 27.04.2014 18:19

Пример где?

telez 27.04.2014 18:45

<ul>
<li id=1><div><label name='name'><label name='price'><label name='desc'></div><li>
<li id=2><div><label name='name'><label name='price'><label name='desc'></div><li>
<li id=3><div><label name='name'><label name='price'><label name='desc'></div><li>
<li id=4><div><label name='name'><label name='price'><label name='desc'></div><li>
<li id=5><div><label name='name'><label name='price'><label name='desc'></div><li>
</ul>


Правильно или нет?

Vlasenko Fedor 27.04.2014 20:56

<li id='1' data-name='price' data-price="10" data-custom="custom"><li>
лучше использовать атрибуты data

telez 28.04.2014 10:18

Извините, а что можно просто так добавлять атрибуты?

jsnb 28.04.2014 12:10

Цитата:

Сообщение от telez (Сообщение 309581)
Извините, а что можно просто так добавлять атрибуты?

В HTML5 стандартом предусмотренно добавление пользовательских атрибутов с префиксом data-. В прошлых версиях HTML собственные атрибуты тоже были возможны, но это было вне стандарта. Получить в JS значение такого атрибута можно через getAttribute, или через dataset в современных браузерах.

telez 28.04.2014 14:46

А если ориентироваться на старые стандарты и браузеры?

M-ka 28.04.2014 14:59

Цитата:

Сообщение от telez (Сообщение 309617)
А если ориентироваться на старые стандарты и браузеры?

Старые браузеры не поддерживают новые стандарты, просто игнорируют их, по большей части...

Почему не запользовать DL
<dl>
<dt> price(cost + currency) + <b>product name</b></dt>
<dd> description</dd>
</dl>

Ну а дальше, в зависимости от диза и потребностей, дублировать или весь DL ну или пары dt +dd
Ну так же такое можно и на дивах построить но тогда чето типа
<div class='product'>
<h4>(h6 ну или что то другое под оглавления, по желанию...) price(cost + currency) + <b>product name</b></h4>
<p>description</p>
</div>

Суть в том, что тогда можно оттолкнуться от DL или класса для описания стилей на остальное без написания доп id или классов....
Ну а для определения, что именно было тыцнуто, описании же будет кнопка, в которой и будет id/name продукта или это вынести на какой то родительский тег, который будет генериться, что бы у каждого блока чето свое уникальное и без проблем выбиралось

Применение блочных тегов в списках, вроде как не правильно считается.... это к <li id=2><div><label name='name'>...

jsnb 28.04.2014 15:04

Цитата:

Сообщение от telez (Сообщение 309617)
А если ориентироваться на старые стандарты и браузеры?

Так а задача в чем состоит? Вывести все эти элементы на страницу или сохранить их скрытыми, но чтобы можно было оперировать значениями?
Ну, а вообще тут от фантазии зависит. Можно, например, кучу спанов нагородить с идентификаторами в виде классов.


Часовой пояс GMT +3, время: 23:27.