|
JQuery: как выбрать по id в переменной
ID искомого элемента находится в name полученного элемента. На js было так
var rel=document.getElementById(elem.name); на JQ я вычитал надо так var rel=$('#'+elem.name); console.log(rel); В консоли печатается пустой jq-объект. Что еще надо приделать или отделать чтобы получить искомое? |
Может имеет значение какое оно name? Оно вот такое, например
user[0] |
Вообщето id и name это разные аттрибуты/свойства элементов у вас какаято путаница с наименованиями. Потому на примере:
<input id="myid" name="myname"> .... var pElem = document.getElementById('myid'); var jElem =$('#myid'); |
Если же надо по имени
var nElem = $('input[name=myname]'); |
Еще раз, ибо товарищ voral все запутал.
Есть элемент у которого есть имя. Задача. Надо взять это имя и найти _другой_ элемент у которого ID идентичен тому самому имени. Обычным методом это решается как два пальца об асфальт и я так всегда делал, а теперь решил заюзать жиквери, и помаленьку, по ходу дела кое-где применяю. Внезапно вылазит вот такой вот косяк - что я не могу получить реф на элемент когда его id (я так понимаю проблема именно в этом) выглядит вот так user[0] С какого это хрена? ID может быть тотально любым, даже числом если вы кладете на спецификацию, а уж всякие там скобки вообще никого не колебут кроме сервера. |
Сейчас я, конечно, сделал вот так, то есть чережопу:
var rel=$('#'+elem.name); console.log(rel); var rel=document.getElementById(elem.name); if(rel) $elem=$(rel); А как сделать нормально? |
В консоли (с места по тексту выше) пишут вот что
Object { length: 0, prevObject: Object, context: HTMLDocument → person, selector: "#user[0]" } где мой инпут по ид? |
Короче я сам нашел. Как обычно в такого рода либах всегда есть оборотная сторона покрытая толстым слоем кала. Хорошо что я еще мало чего переписал на jquery. И не буду.
Мне, видите-ли, предлагается заескейпить квадратные скобки. Это несмотря на то, что в самом начале жикверной документации по выборке написано - мы юзем getElementById как самый эффективный. Пиндеж! |
Рулез на синтаксис id http://www.w3.org/TR/html5/dom.html#the-id-attribute
|
Цитата:
|
Часовой пояс GMT +3, время: 06:47. |
|