JQuery HREF возвращает неопределенное - PullRequest
1 голос
/ 16 февраля 2009

У меня есть это в моем HTML

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

Затем, используя jQuery, я запускаю это в $ (document.ready (function ()

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

Который показывает system / id

Но вот так:

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

Показывает undefined

Если я добавлю Id к тегу, подобному этому

<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), пожалуйста?

Ответы [ 2 ]

13 голосов
/ 16 февраля 2009

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

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

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

4 голосов
/ 16 февраля 2009

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

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

alert( $("a.deleteLink")[0].href );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...