2012-11-24 76 views
2

我想搜索一個JQuery搜索的後代href s。我想我應該使用.find()方法,但我沒有取得成功,因爲我不確定是否將.attr()方法作爲參數或作爲後續方法傳遞。使用.find()和.attr()

var trialMethod = function($this) { 
    //Ive tried along the lines of this 
    $this.find(.attr('href')); 
    //and this 
    $this.find().attr('href'); 
} 

我使用一個單擊處理程序(這一個明確地連接到所有的環節,不管他們是否被JS/JQ更新),並試圖找到的被點擊什麼href。由於我試圖最大化沒有JS的網站的功能,鏈接是靜態的,然後通過JS/JQ替換。所以當點擊一個鏈接時,它可能在<li><span>或其他什麼。我試圖保持約定不聲明第n個子元素或特定的元素,而是搜索自DOM樹可能會改變,因此尋找href屬性,我會檢查某個鏈接是否被點擊。

1 - 如何使用.find().attr()兩種方法找到子元素的href

2 - 我已閱讀JQ API,但只是想澄清一點; .find()方法必須?傳遞一個參數?如果是這樣的話,那麼現在我不知道浪費的時間與類似我的第二次嘗試嘗試....

+2

請顯示您的HTML,並解釋你想得到什麼結果? –

+2

嘗試'.find('a [href]')' – Inferpse

+0

您是試圖獲取屬性href的值還是隻想要具有屬性href的元素?即「我想要獲取鏈接列表」或「我想要對元素做些什麼」 – Popnoodles

回答

1

要找到HREF屬性的所有環節只需使用:

$(document).find('a[href]'); 

同樣可以做到對於rel例如

$(document).find('a[rel]'); 
2

你的意思是:

var allHrefs = $this.find("[href]").map(function() { 
    return this.href; 
}).get();