Вход

Просмотр полной версии : где лучше спрятать данные?


czp
03.04.2012, 19:51
такой вот вопрос, есть ряд элемов, у которых один и тот же класс, у каждого элема есть данные(ид из БД), для примера возмем цифру 1
при генерации страници, я раньше задавалэтот ид в атрибут id="1" но он может повторяться

<div id="1" class="coca">bla bla</div>
<div id="2" class="coca">bla bla</div>
<div id="1" class="coca">bla bla</div>
<div id="3" class="coca">bla bla</div>

так как ид не должен повторяться в верстке, куда мне лучше спрятать его?
как вариант думал так

<div class="coca"><span>1</span>bla bla</div>
<div class="coca"><span>2</span>bla bla</div>
<div class="coca"><span>1</span>bla bla</div>
<div class="coca"><span>3</span>bla bla</div>

и в стилях скрыть спан, и после считывать ДЖСОМ его
вопросы :
1.Куда лучше спрятать ИД(данные)?
2.ДЖСу что легче считать, атрибут тега? или содержимое тега?

melky
03.04.2012, 19:53
0 в переменную.
1 одинаково.

czp
03.04.2012, 20:04
в какую переменную? если верстку формирует PHP а после при клике по елему, джс считывает ид и могласно иду выдает аякс хапрос
--
то я не правильно выразился, Куда спрятать ИД, я имел в виду, в Верстке куда запихнуть? что бы джс мог легко его достать с верстки

melky
03.04.2012, 20:26
пышкой выводи тег скрипт и в нём присваивай ДЖсной переменнке значение ИДа перед выполнением аякс запроса.

T-sh
03.04.2012, 20:27
а просто заменить id на name или генерировать через <h#>? :)

к примеру:
<h1> блаблабла </h1>
<h2> блаблабла-бла </h2>
<h1> блаблабла </h1>
<h3> блаблабла </h3>

ну и с name:

<div name="1" class="coca">bla bla</div>
<div name="2" class="coca">bla bla</div>
<div name="1" class="coca">bla bla</div>
<div name="3" class="coca">bla bla</div>


для совсем извращенной фантазии можно сделать так:

<div id="221_1" class="coca">bla bla</div>
<div id="122_2" class="coca">bla bla</div>
<div id="120_1" class="coca">bla bla</div>
<div id="356_3" class="coca">bla bla</div>

т.е. в id добавлять сначала рандомное число (к примеру из 3-х символов) и подчеркивание.
а при обработке: первые четыре символа убирать.. останутся те же 1,2,3...

czp
03.04.2012, 21:07
а name допускается в диве? как атрибут?
пышкой выводи тег скрипт и в нём присваивай ДЖсной переменнке значение ИДа перед выполнением аякс запроса.
после каждого елема тег скрипт ставить?и в нем переменную писать?

czp
03.04.2012, 21:12
как враиант можно так и он избавит меня от всего гемороя, пхп подставит аргументы
<div class="coca" onclick ="myFunc(id, всяикеи другие аргументы)">bla bla</div>
но так вроде никто не делает уже) гугл и контакт такую структуру юзает, ваше мнение? или это уже дедовский способ?

T-sh
03.04.2012, 21:15
как враиант можно так и он избавит меня от всего гемороя, пхп подставит аргументы
<div class="coca" onclick ="myFunc(id, всяикеи другие аргументы)">bla bla</div>
но так вроде никто не делает уже) гугл и контакт такую структуру юзает, ваше мнение? или это уже дедовский способ?

почему эт дедовский? :) вполне нормальный способ)

czp
03.04.2012, 21:18
а почему тогда его кто мало юзает? мен он устраивает единственное пугает его почти не встречал сейчас, все любят джейквери) без онкликов этих
--
а есть в нем минусы?

T-sh
03.04.2012, 21:22
а почему тогда его кто мало юзает? мен он устраивает единственное пугает его почти не встречал сейчас, все любят джейквери) без онкликов этих
--
а есть в нем минусы?

нет в нём никаких минусов :) вот потому, что любят jquery — поэтому таким методом и не пользуются) jquery — модно, но нормальные вещи обычно пишутся на нативном js, и прописывать в странице сразу onClick — вполне нормальное явление

melky
03.04.2012, 21:31
нет в нём никаких минусов :) вот потому, что любят jquery — поэтому таким методом и не пользуются) jquery — модно, но нормальные вещи обычно пишутся на нативном js, и прописывать в странице сразу onClick — вполне нормальное явление

лет так 10 назад это было модно

T-sh
03.04.2012, 23:14
лет так 10 назад это было модно

что именно? :) onClick или jquery?

jQuery, если мне не изменяет память, презентована была толь в 2005, толь в 2006 году :)

ну а onClick.. что ж мешает вместо вписывания их в сам html, вывести в отдельный <script> :)

melky
03.04.2012, 23:26
что именно? :) onClick или jquery?

jQuery, если мне не изменяет память, презентована была толь в 2005, толь в 2006 году :)

ну а onClick.. что ж мешает вместо вписывания их в сам html, вывести в отдельный <script> :)

по-моему мнению, пользоваться устаревшими технологиями - то же самое , что и сёрфить интернет с помощью ИЕ 7.

у нас же есть более мощное API, почему мы всё-таки пользуемся свойствами онклик ?

T-sh
03.04.2012, 23:32
по-моему мнению, пользоваться устаревшими технологиями - то же самое , что и сёрфить интернет с помощью ИЕ 7.

у нас же есть более мощное API, почему мы всё-таки пользуемся свойствами онклик ?

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

да и я бы не стал называть это устаревшей технологией. это поддерживается во всех браузерах и работает правильно :) и почему бы не пользоваться, если есть возможность?

melky
03.04.2012, 23:33
имхо, подключать целую библиотеку, только для того, чтобы выполнить простейшую задачу, с которой легко, корректно справится нативный js — это как в магазин, который находится за углом, ехать на машине — удобно, конечно, но смысла мало :)

да и я бы не стал называть это устаревшей технологией. это поддерживается во всех браузерах и работает правильно :) и почему бы не пользоваться, если есть возможность?

да ну. достаточно :


var useW3C = typeof window.addEventListener === "function";


в общем, это дело вкуса. не хочу спорить :)

czp
04.04.2012, 07:09
вопрос в другом, мне нужно воспользоваться таким методом, что бы я мог передать иды в функцию без особого труда, тот способ это позволяет, во всех остальных, мне необходимо ИДы считывать с ШТМЛ, вот за что я, как лучше поступить? ид генерит с БД пхп, а делать вставку после каждого тега, скрипт и туда ид пихать и после клика определять с какой переменной брать ид тоже не вариант, много действий

T-sh
04.04.2012, 11:52
вопрос в другом, мне нужно воспользоваться таким методом, что бы я мог передать иды в функцию без особого труда, тот способ это позволяет, во всех остальных, мне необходимо ИДы считывать с ШТМЛ, вот за что я, как лучше поступить? ид генерит с БД пхп, а делать вставку после каждого тега, скрипт и туда ид пихать и после клика определять с какой переменной брать ид тоже не вариант, много действий

случайно не HTML5 у вас? :)

если да, тогда вообще проще-простого:

<div data-id="1" class="coca">bla bla</div>
<div data-id="2" class="coca">bla bla</div>
<div data-id="1" class="coca">bla bla</div>
<div data-id="3" class="coca">bla bla</div>


data-id — получать при помощи обычного: getAttribute("data-id");

если не HTML5, то onClick'и самый простой и удобный вариант, вообще получать ничего не надо, сразу передаёте параметры в функцию.

czp
04.04.2012, 13:08
спасибо огромное)) то что доктор прописал)) осталось определиться или дата-* или онклик))