2011-08-29 84 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")); 
});