Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.10.2014, 08:14
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

JQuery: как выбрать по id в переменной
ID искомого элемента находится в name полученного элемента. На js было так

var rel=document.getElementById(elem.name);


на JQ я вычитал надо так

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


В консоли печатается пустой jq-объект. Что еще надо приделать или отделать чтобы получить искомое?
Ответить с цитированием
  #2 (permalink)  
Старый 09.10.2014, 08:30
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Может имеет значение какое оно name? Оно вот такое, например

user[0]
Ответить с цитированием
  #3 (permalink)  
Старый 09.10.2014, 08:34
Аспирант
Отправить личное сообщение для voral Посмотреть профиль Найти все сообщения от voral
 
Регистрация: 03.10.2014
Сообщений: 67

Вообщето id и name это разные аттрибуты/свойства элементов у вас какаято путаница с наименованиями. Потому на примере:
<input id="myid" name="myname">
....
var pElem = document.getElementById('myid');
var jElem =$('#myid');
Ответить с цитированием
  #4 (permalink)  
Старый 09.10.2014, 08:39
Аспирант
Отправить личное сообщение для voral Посмотреть профиль Найти все сообщения от voral
 
Регистрация: 03.10.2014
Сообщений: 67

Если же надо по имени
var nElem = $('input[name=myname]');
Ответить с цитированием
  #5 (permalink)  
Старый 09.10.2014, 08:44
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Еще раз, ибо товарищ voral все запутал.

Есть элемент у которого есть имя. Задача. Надо взять это имя и найти _другой_ элемент у которого ID идентичен тому самому имени.

Обычным методом это решается как два пальца об асфальт и я так всегда делал, а теперь решил заюзать жиквери, и помаленьку, по ходу дела кое-где применяю.

Внезапно вылазит вот такой вот косяк - что я не могу получить реф на элемент когда его id (я так понимаю проблема именно в этом) выглядит вот так

user[0]

С какого это хрена? ID может быть тотально любым, даже числом если вы кладете на спецификацию, а уж всякие там скобки вообще никого не колебут кроме сервера.
Ответить с цитированием
  #6 (permalink)  
Старый 09.10.2014, 08:45
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сейчас я, конечно, сделал вот так, то есть чережопу:

var rel=$('#'+elem.name);
			console.log(rel);
			var rel=document.getElementById(elem.name);
			if(rel)
				$elem=$(rel);


А как сделать нормально?
Ответить с цитированием
  #7 (permalink)  
Старый 09.10.2014, 08:48
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

В консоли (с места по тексту выше) пишут вот что

Object { length: 0, prevObject: Object, context: HTMLDocument → person, selector: "#user[0]" }

где мой инпут по ид?
Ответить с цитированием
  #8 (permalink)  
Старый 09.10.2014, 08:55
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Короче я сам нашел. Как обычно в такого рода либах всегда есть оборотная сторона покрытая толстым слоем кала. Хорошо что я еще мало чего переписал на jquery. И не буду.

Мне, видите-ли, предлагается заескейпить квадратные скобки. Это несмотря на то, что в самом начале жикверной документации по выборке написано - мы юзем getElementById как самый эффективный. Пиндеж!
Ответить с цитированием
  #9 (permalink)  
Старый 09.10.2014, 09:13
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Рулез на синтаксис id http://www.w3.org/TR/html5/dom.html#the-id-attribute
Ответить с цитированием
  #10 (permalink)  
Старый 09.10.2014, 10:19
Аспирант
Отправить личное сообщение для voral Посмотреть профиль Найти все сообщения от voral
 
Регистрация: 03.10.2014
Сообщений: 67

Сообщение от kostyanet Посмотреть сообщение
Пиндеж!
А с чего вы взяли, что в вашем случае должен использоваться getElementById? Вы создали неправильный селектор и хотите чтоб скрипт его правильно (в вашем понимании) распарсил?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выбрать элемента тега select с value равным переменной copperfox Общие вопросы Javascript 2 08.07.2013 12:43
Можно ли в jQuery селектор вставлять перменные и как? jsuse jQuery 2 04.12.2011 01:27
Как получить значение php переменной sanyalex AJAX и COMET 1 30.10.2011 22:45
JQUERY - как скачать данную библиотеку? Golovastik jQuery 7 06.03.2011 18:03
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25