2009-02-16 3 views
1

У меня есть это в моем HTMLJQuery HREF возвращает неопределенное

<a class="deleteLink" href="system/id">link</a> 

Затем с помощью JQuery, я запускаю это в $ (document.ready (функция()

alert($("a.deleteLink").attr("href")); 

Это показывает системы/идентификатор

Но работает это:

alert($("a.deleteLink").href); 

показывает неопределенными

Если добавить идентификатор в теге, как этот

<a id="myId" class="deleteLink" href="system/id">link</a> 

Тогда

alert(myId.href); 

показывает http://localhost/system/id, который я хочу получить от Jquery (так что я могу сделать что-то вроде

$.post($("a.deleteLink").href); 

Может ли кто-нибудь помочь мне получить полное значение href из jQuery (1.2.6), пожалуйста?

+0

Ну, ваш первый пример href работает .. почему вы хотите, чтобы это было связано с .href? Также вторая часть вашего вопроса, похоже, не имеет ничего общего с первой частью. Что такое «myId» (переменная)? Объект jQuery? – okoman

ответ

13

$ ("...") возвращает объект JQuery (называемый также "обернутый набор"). У завернутого набора нет атрибута href. Если вы это сделаете:

alert($("a.deleteLink")[0].href); 

Он должен правильно вернуть атрибут href. Когда вы имеете дело с «myId», вы имеете дело с объектом элемента DOM. Совсем не похож на обернутый набор. Оператор индекса, который я использовал там, является short для get (0) и возвращает элемент из завернутого набора.

+0

Примечание: элемент, возвращаемый объектами индексирования в обернутом наборе напрямую или с использованием метода .get(), будет чистым объектом DOM, поэтому вы можете сделать «[element] .href». – roosteronacid

4

Теперь я вижу, что вы хотите сделать.

Попробуйте это:

alert($("a.deleteLink")[0].href); 
Смежные вопросы