Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   JQuery: как выбрать по id в переменной (https://javascript.ru/forum/misc/50727-jquery-kak-vybrat-po-id-v-peremennojj.html)

danik.js 09.10.2014 10:45

kostyanet, смотри не обделайся от эмоций. Неужели ты решил что ты умнее разработчиков jQuery? :D

kostyanet 09.10.2014 11:53

Селектор правильный, тот факт что исторически в них заложено несколько смыслов ничего не меняет. Как селекторами CSS id я никогда не пользовался и не собираюсь.

Что касается ума разработчиков JQuery, то он не может перепрыгнуть ум пользователей JQuery по определению. Как будто я не знаю откуда такой косяк - оттуда что аргумент подразумевается состоящий из чудовищного гавна, только потому что тупому юзеру не хватает извилин профтыкать уникальные id'шники. Соответственно когда в качестве аргумента попадает что-то похожее на гавно - оно считается гавном автоматически и ищется как гавно, а не как нормальный идентификатор.

kostyanet 09.10.2014 11:59

Кстати, я рассказывал как тырил шеврон у гугля и что увидел когда тырил - стырьте и вы. Там голимо все в id. На-й спрашивается париться искать через анусы всяких там родителей-шмадителей, если можно воткнуть id и мгновенно все получить в любом месте. Ну а классы само собой для коллекций - все просто.

voral 09.10.2014 12:12

Цитата:

Сообщение от kostyanet (Сообщение 334257)
Селектор правильный,

ню ню....
Наверное вы знаете лучше чем составители документации jQuery
http://api.jquery.com/id-selector/

kostyanet 09.10.2014 13:01

Теперь толпа что ли пишет спецификацию на структуру html'я? Ваш жиквери просто набор функций, опупенный массив с функциями, они ничего не могут специфицировать этим.

Спецификация тут, я давал ссылку, еще раз - http://www.w3.org/TR/html5/dom.html#the-id-attribute - покажите мене текст который доказывает что id user[0] неправильный.

kostyanet 09.10.2014 13:03

Цитата:

Сообщение от voral
Наверное вы знаете лучше чем составители документации jQuery

Цитата:

For id selectors, jQuery uses the JavaScript function document.getElementById(), which is extremely efficient.
Все, с этого момента согласно спецификации на HTML5 выдайте мне реф на элемент по заданному id. Не выдали - гавно написали, не специфицированное.

document.getElementById() пожизненно выдает рефы с каких хочешь ID, а эти моральные уроды накатали там лапши и вот результат.

Вот так работает:
var rel=document.getElementById(elem.name);
			if(rel)
				$elem=$(rel);
			else {
				alert(message);
				return;
			}


А вот так

var rel=$('#'+elem.name);

не работает. Значит не работает и точка. Потому что жикверя - это не язык, а либа. В либе язык DOM'а не работает.

voral 09.10.2014 13:10

Цитата:

Сообщение от kostyanet (Сообщение 334281)
Теперь толпа что ли пишет спецификацию на структуру html'я?

Это то вы где увидели? Я дал ссылку на документацию по jQuer, которым вы взялись пользоваться.

Цитата:

Сообщение от kostyanet (Сообщение 334281)
Ваш жиквери просто набор функций, опупенный массив с функциями, они ничего не могут специфицировать этим.

Это фреймворк. У него есть документация по работе с оным.

Цитата:

Сообщение от kostyanet (Сообщение 334281)
Спецификация тут, я давал ссылку, еще раз -

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

А вас не смущает, что парни создающие JavaScritpt тоже, гады такие, нарушают спецификацию ведь есть валидный код:
<div id="test"></div>

значит я имею право написать
doument.write ("<div id="test"></div");

вот только,потом мне придется идти на форум и сокрушаться что javaScript такое УГ.... Я буду прав?

kostyanet 09.10.2014 13:13

Конкретно это задача вот такая. Есть баллон который вылезает рядом с полем ввода чтобы сказать что юзер затупил. Обычнейшая вещь. Но есть частный случай когда это самое поле скрыто - например кнопка file, когда ее щелкает не юзер, а скажем image. Тогда баллон дуреет - ему некуда привязать свой хвост, инпут дисплей ноне. Ну вот, тогда делается rel(ation) - с инпута берется name и пихается в качестве id тому самому элементу который давит инпут. Уровень абстракции не зашкаливает, но в целом задачу решает. Скрипт делает попытку найти rel(ation) по факту что элемент скрыт и, если находит то заменяет скрытый инпут на видимый связанный инпут. Все это происходит по событию нажатия на скрытый инпут, то есть чередом. Ну а если не находит то вместо баллона юзер получает alert. Все просто.

voral 09.10.2014 13:18

Цитата:

Сообщение от kostyanet (Сообщение 334283)
Все, с этого момента согласно спецификации на HTML5 выдайте мне реф на элемент по заданному id. Не выдали - гавно написали, не специфицированное.

Ясно что Ъ парни не любят читать более чем им захочется. Помогу вам цитатой из того же текста:
Цитата:

If the id contains characters like periods or colons you have to escape those characters with backslashes.
Там же есть ссылка на текст описывающий сей вопрос более подробно.

Ну, а не способность изучать внимательно документацию перед использование не привьет и не заменит ни одна спецификация.

voral 09.10.2014 13:20

Цитата:

Сообщение от kostyanet (Сообщение 334287)
Все просто.

согласен :)


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