-2

我正在寻找一种如何通过单击打开新标签中的几个链接的方法。

这是我编写的一些 HTML 代码。

<ul>
  <li><a href="http://google.com">Google</a></li>
  <li><a href="http://bing.com">Bing</a></li>
  <li><a href="http://ebay.com">Ebay</a></li>
  <li><a href="http://amazon.com">Amazon</a></li>
</ul>
<hr>
<a href="#" onclick="">Open all links above by one click!</a>

UPD:如果可能的话,如果它会搜索用 包裹的页面上的所有链接<li></li>,将它们推送到数组,然后单击链接应该打开数组中的下 4 个链接,那就太好了。

jsFiddle 示例

4

4 回答 4

3

无需质疑您的动机(因为您将被弹出窗口阻止程序阻止),

function open4links () {
    var links = ['http://...', 'http://...', 'http://...', 'http://...'];
    for (var i = 0; i < links.length; i++) {
        window.open(links[i], '_blank');
    }
}

(the a element).onclick = open4links;
于 2013-09-25T19:08:06.370 回答
1

使用window.open

$('a').click(function(e) {
    e.preventDefault();
    $('li a').each(function(){
        window.open($(this).attr("href"), '_blank');
    });
});

正如您在JsFiddle中看到的,大多数浏览器不会接受它,因为它被视为垃圾邮件。

于 2013-09-25T19:08:18.147 回答
1

在这里,这对我有用(基于更新的请求):http: //jsfiddle.net/R7qFv/4/

这会跟踪已打开哪些链接,因此每次单击链接时,它将打开列表中的下 4 个。

$("#openlinks").on("click", (function(){
    var count = 0, nAtOnce = 4, $links = $("li a");
    var openLinks = function(){
        for (var i = 0; i < nAtOnce && count < $links.length; i++) {
            window.open($links.eq(count++).attr("href"), '_blank');
        }
    };
    return openLinks;
})());

我使用 jQuery 编写它是因为它对我来说更容易,但我相信您可以根据需要进行翻译。

于 2013-09-25T19:32:36.877 回答
0

使用它来查找 html 代码中的所有链接并在其他窗口中打开

<script type="text/javascript">
function OpenLinks(){
    var arr = [];

    $("#list a").each(function(){
            arr.push(jQuery(this).attr("href"));
    });

    for(var i =0; i < arr.length;i++){
        window.open(arr[i]);
    }
}
</script>

obs:使用jquery!

于 2013-09-25T19:32:25.810 回答