2009-02-16 110 views
1

我有這個在我的HTMLjQuery的HREF返回undefined

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

然後使用jQuery,我跑這在$(的document.ready(函數()

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

這都說明系統/ ID

但運行以下命令:

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

顯示不確定

如果我添加一個ID,一個標籤這樣

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

然後

alert(myId.href); 

顯示http://localhost/system/id這就是我想從jQuery來獲得(所以我可以做點像

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

任何人都可以幫助我從jQuery(1.2.6)獲取完整的href值嗎?

+0

那麼,你的第一個href示例工作..你爲什麼要用它做.href呢? 另外你的問題的第二部分似乎與第一部分沒有任何關係。什麼是'myId'(變量)?一個jQuery對象? – okoman 2009-02-16 13:13:05

回答

13

$( 「...」)返回一個jQuery對象(也稱爲 「包裝集」)。包裹集沒有href屬性。如果你這樣做:

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

它應該正確返回href屬性。當你處理「myId」時,你正在處理一個DOM元素對象。與包裝完全不同。我在那裏使用的索引操作符是get(0)的簡寫,並且返回包裝集合中的元素。

+0

注意:通過直接或使用.get()方法爲包裝集中的對象建立索引而返回的元素將是純DOM對象,這就是爲什麼您可以執行「[element] .href」。 – roosteronacid 2009-02-16 13:24:33

4

現在我明白你想要做什麼了。

試試這個:

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