2011-08-29 65 views
0

我在一兩天前發佈了這個帖子,收到了JSfiddle的解決方案,但是並沒有用到我的實際代碼上。現在使用Jquery檢索鏈接

<div id="PublicResults"> 
<h2> 
<dl> 
<dt> 
<a onmouseout="swho.alone.OnMouseOut(event)" onmouseover="swho.alone.showPopup(event, 'DR647E481', 'pra**', '', '', 'everyone', 'closed')" href="/SWApp/detailAction.do?key=DR647E481&search=pra**&soundex=&stanfordonly=&affilfilter=everyone&filters=closed">Ajay Prakash</a> 
</dt> 

,我試過$ JQ( 「#PublicResults一」)。ATTR( 「HREF」),這在的jsfiddle工作,但沒有工作在頁面上(我的控制檯讀取未定義)。然而,當我嘗試$ jq(「#PublicResults a [href]」)。attr(「href」)時,我得到當前網頁的url-所以我猜問題是.attr()只返回第一個元素

所以我的問題是雙重的 - 如果我上面寫的是正確的,我如何使.attr()返回所有元素。如果沒有,我該怎麼做才能在href中檢索url?

回答

0

如果你有你的jQuery實例綁定到$jq()(而不是通常的$()jQuery()),那麼$jq("#PublicResults a[href]").attr("href")應該工作。你能發佈一個鏈接到它不工作的地方嗎?

我懷疑下列之一:

  1. 可能是運行了jQuery代碼#PublicResults元素被添加到頁面
  2. 這是可能的$jq()功能不可用
  3. 某件事之前否則可能會改變你的鏈接href
+0

洱$ jq的功能,當我做 「$ JQ(」 #PublicResults一個[HREF]作品」 ),並且我正在螢火蟲的控制檯上運行代碼來測試它 – praks5432

0

你可以使用map從jQuery包裝的對象中提取所有的href。例如。

$('...').map(function() { return $(this).attr('href'); }); 

這將返回一個jQuery包裹的陣列,以獲得正常的JavaScript的一個,只是使用.get()

+0

我該如何測試這個? – praks5432

+0

另外,我該如何加載我正在用這個進行刮擦的url? – praks5432

2

你必須 troughout所有鏈接的數組列表,你想刮:

$jq("#PublicResults a").each(function() 
{ 
    alert($(this).attr("href")); 
});