Javascript 如何在jQuery中单击按钮并打开无序列表中的所有链接
我希望有一个按钮,如果单击,将单击()特定无序列表中的所有链接Javascript 如何在jQuery中单击按钮并打开无序列表中的所有链接,javascript,jquery,Javascript,Jquery,我希望有一个按钮,如果单击,将单击()特定无序列表中的所有链接 <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="_bl
<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。非常感谢
$('#linkslist li a').each(function(){
$(this).click();
});
这将单击它们。如果您没有将事件附加到单击,并且它们在href中有一个链接,显然,您将被重定向到一个链接。一次打开所有这些链接的目的是什么?有机会被视为恶意活动 要“触发”单击每个链接,您可以执行以下操作:
$('#linkslist li a').each(function() {
$(this).trigger('click');
});
但这会带来问题,我很确定这不会真正打开页面,因为它会尝试以编程方式单击每个链接。您可以这样做:
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();
});
这将通过在按钮上单击来单击它们……如果您希望它们在其他窗口中打开,则编程的单击无法做到这一点,必须解析每个
href
/* button clcik*/
$('#openallbutton').click(function(){
/* trigger click on all links*/
$('#linkslist li a').click();
})
这听起来像是个XY问题。为什么要单击所有链接?您不应该只调用附加到它们的函数吗?问题:如果链接上没有指定目标属性,并且href是url,它将只打开同一窗口中的第一个链接。