Javascript 使用Jquery检索链接
我在一两天前发布了这篇文章,收到了一个在JSFIDLE上有效的答案,但在我的实际代码上却不起作用Javascript 使用Jquery检索链接,javascript,jquery,screen-scraping,hyperlink,Javascript,Jquery,Screen Scraping,Hyperlink,我在一两天前发布了这篇文章,收到了一个在JSFIDLE上有效的答案,但在我的实际代码上却不起作用 <div id="PublicResults"> <h2> <dl> <dt> <a onmouseout="swho.alone.OnMouseOut(event)" onmouseover="swho.alone.showPopup(event, 'DR647E481', 'pra**', '', '', 'everyone', 'clo
<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 a”).attr(“href”),它在JSFIDLE中工作,但在页面上不工作(我的控制台显示为undefined)。但是,当我尝试$jq(“#PublicResults a[href]”)时,我会得到当前网页的url,所以我想问题是.attr()只返回第一个元素
所以我的问题有两个——如果我上面写的是正确的,那么如何使.attr()返回所有元素。如果没有,我应该如何在href中检索url 如果您将jQuery实例绑定到
$jq()
(而不是通常的$()
或jQuery()
),那么$jq(“#PublicResults a[href]”)。attr(“href”)
应该可以工作。你能在哪里贴个链接吗
我怀疑以下情况之一:
#PublicResults
元素添加到页面之前,您可能正在运行jQuery代码$jq()
函数可能不可用您可以使用map从jQuery包装的对象中提取所有href。例如
$('...').map(function() { return $(this).attr('href'); });
这将返回一个jQuery包装的数组,要获得一个普通的JavaScript数组,只需使用
.get()
您必须循环查找所有链接的数组列表是否要刮取:
$jq("#PublicResults a").each(function()
{
alert($(this).attr("href"));
});
呃,$jq函数在我执行“$jq”(#PublicResults a[href]”)时起作用,我正在firebug的控制台上运行代码来测试italso,我如何加载我从中抓取的url?