-6

我需要使用.each(function(){});JQuery获取页面中的所有链接

<div id="mm">
    <ul class="mg">
        <li id="nav_sports">
            <a href="http://www.google.com" class="atest">Sports</a>
            <div id="sports">
                <ul>
                    <li>
                        <a href="http://www.dictionay.com">cricket</a>
                    </li>
                </ul>
                <ul id="cont1">
                    <li style="color:#444444">
                        <b>Popular</b>
                    </li>
                </ul>
            </div>
        </li>
    </ul>
</div>
4

6 回答 6

18
$("a").each(function() {
    //Do your work   
})
于 2012-10-03T05:47:44.093 回答
6

使用锚标记作为选择器

$("a").each(....)
于 2012-10-03T05:46:59.803 回答
6
var links = [];
$('#mm a').each(function() {
   links.push( this.href ); 
   // output of links: ['http://www.google.com', 'http://www.dictionay.com']
   // According to comment
   // if you need each link separately then
   // may try like

   var href = this.href;
   // now process with the href as you wish      
});

对于所有as,将选择器更改#mm a为 just a

于 2012-10-03T05:47:11.940 回答
4

这就是我所期望的伙计们...感谢您的回复

$("a").attr("clink","");
    $(window).load(function(){
        $("#mm a").attr("clink","");
        $('#mm a').each(function(){
            var hrefl=$(this).attr('href');
            var clink=hrefl;
            $(this).attr('clink',clink);
            $(this).attr('href',"#");
        }); 
});
于 2012-10-03T15:34:40.193 回答
4

如果您想要页面上的所有唯一链接,请借用此页面上的其他答案和数组中的唯一值

function onlyUnique(value, index, self)
{
    return self.indexOf(value) === index;
} 

function getAllLinks()
{
   var links = [];
   $("a").each(function ()
   {
      links.push(this.href);
   });

   return links.filter(onlyUnique);
}
于 2016-03-05T15:47:57.973 回答
2

您可以这样做$('a')将返回页面上所有 A 元素的集合。

然后你可以迭代它$('a').each(function(index, value){})

于 2012-10-03T05:47:43.123 回答