0

我想要一个按钮,如果单击它将单击()特定无序列表中的所有链接。

<ul id="linkslist">
    <li><a href="#" target="_blank">Link 1</a></li>
    <li><a href="#" target="_blank">Link 2</a></li>
    <li><a href="#" target="_blank">Link 3</a></li>
    <li><a href="#" target="_blank">Link 4</a></li>
    <li><a href="#" target="_blank">Link 5</a></li>
</ul>
<button value="open all" id="openallbutton">

我意识到这个示例本身可能可以使用简单的 javascript 完成,但是由于我将使用 jQuery 对此进行扩展,因此我更喜欢在这个示例中使用 jQuery。非常感谢。

4

4 回答 4

0

你可以这样做:

jQuery('#linkslist li a').each(function(){
   //if you want to open links in new tabs
   window.open($(this).attr('href'), '_blank');
   //if your links are only javascript entries (i mean href="#" and a click event is handled)
   $(this).click();
});
于 2013-11-13T17:07:37.150 回答
-1

这将通过单击按钮来单击它们......如果您希望它们在其他窗口中打开,则编程的单击不会这样做,并且必须解析每一个href才能做到这一点

/* button clcik*/
$('#openallbutton').click(function(){
    /* trigger click on all links*/
    $('#linkslist li a').click();
})
于 2013-11-13T17:16:48.247 回答
-1
$('#linkslist li a').each(function(){
    $(this).click();
});

这将单击它们。如果您没有将事件附加到点击,并且它们在 href 中有一个链接,显然,您只会被重定向到一个链接。

于 2013-11-13T17:06:52.427 回答
-1

一次打开所有这些链接的目的是什么?有机会被视为恶意活动。

要“触发”每个链接的点击,您可以执行以下操作:

$('#linkslist li a').each(function() {
    $(this).trigger('click');
});

虽然这是在问问题,但我很确定这实际上不会打开页面,因为它会尝试以编程方式单击每个链接。

于 2013-11-13T17:07:08.030 回答