Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > значение id равно переменной var


Автор: Lisa67567 31.8.2011, 17:48
Ребята, подскажите пожалуйста:
Есть переменная 
Код

var curId = $(this).attr("id");//значение текущего id тега A


Необходимо найти на странице все теги A со значением id равным curID.
Я сделала так: 
Код


var current = $('ul.treeview').find('.a[id="'+curId+'"]'); //или вот так find("a#+$curId")
 

Но не работает. Как написать правильно? 

Автор: нуп 31.8.2011, 18:22
Id должен быть уникальным

Автор: ksnk 31.8.2011, 18:40
Код

...find('.a[id='+curId+']');

может без кавычек?
или curID, а не curId? Где определен сам идентификатор?

Ну и да, по спецификации - несколько одинаковых ID'ей как бы запрещено. Многие JS функции будет глючить и корежить  ;) 

Автор: Lisa67567 1.9.2011, 08:10
Цитата

Id должен быть уникальным 

По-другому поиск одинаковых элементов придумать не могла.
Цитата

может без кавычек?

Не помогло, а firebug ошибок не выдает.
Цитата

или curID, а не curId? 

curId- это только название переменной.

Если я задаю find("a[id=12faa040-4f79-ae55-1ce0-4d0a0637fa14]"), то все работает отлично. Одинаковые находит, и все что нужно с ними делает.

Автор: Lisa67567 1.9.2011, 08:46
Послушала вашего совета, задала не id, а name тегам a. Теперь var curName = $(this).attr("name");
И вот это find("a[name="+curName+"]") работает! 
Всем спасибо)

Автор: iandsociety 1.9.2011, 17:17
Неправильные селекторы ".a[id=12faa040-4f79-ae55-1ce0-4d0a0637fa14]"

Было бы лучше "a#12faa040-4f79-ae55-1ce0-4d0a0637fa14"

Да и возможно неправильное название id, то что вначале цифры

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)