2014-09-19 42 views
0

我有一个包含多个链接的网页。我想要做的是我想打开所有在不同的窗口使用JavaScript的链接。截至目前,我的代码如下所示。所有链接都具有相同的“myClass”和不同的“id”。使用javascript在网页上打开多个链接

$(document).ready(function() { 

var elements = document.getElementsByClassName("myClass"); 

for (var i = 0; i < elements.length; i++) { 

    alert(elements[i].getAttribute("id")); 

    $(elements[i].getAttribute("id")).onclick(); 
}}) 

我在做什么错?有谁能帮我解决这个问题吗?任何帮助将非常感激。

+0

你在哪里绑定onclick处理,他们怎么看喜欢? – 2014-09-19 03:26:41

+0

你是否收到错误?它在做什么不对? – 2014-09-19 03:32:04

+0

@ LJ_1102我已将此片段集成到我的HTML标头下。 – Roland 2014-09-19 03:33:15

回答

1

而不是采取id并尝试手动调用onclick()事件,您可以检索href属性并将其传递给window.open方法。

for (var i = 0; i < elements.length; i++) { 

    var url = elements[i].getAttribute("href"); 

    window.open(url); 
}}) 

了解更多关于window.open这里。 https://developer.mozilla.org/en-US/docs/Web/API/Window.open

但是,这可能不被浏览器所接受,我怀疑他们会阻止通过JavaScript打开多个窗口。 (阻止弹出窗口)。

+0

很高兴我能帮到你。请接受答案,如果它的工作,并当然投票:) – BuddhiP 2014-09-19 03:48:21

+0

有点迟了,你正确地说,浏览器阻止弹出窗口,有没有办法解决这个弹出问题... – Roland 2014-09-19 03:54:49

+0

有没有解决方案据我所知,如果您的用户信任您的网站并接受弹出窗口,那么他们可以配置他们的浏览器以允许来自您的网站的弹出窗口。但是这必须由每个用户单独完成。 – BuddhiP 2014-09-19 04:09:01

0

它看起来像你使用jQuery,所以一个简单的解决办法是

$(".myClass").each(function() { 
    window.open(this.href); 
}); 

否则一个纯JavaScript的方法是

var elements = document.getElementsByClassName("myClass"); 
for (var i=0; i<elements.length; i++) { 
    window.open(elements[i].getAttribute("href")); 
} 
+0

感谢您的帮助@dhouty。我试着BuddhiP说明,它似乎工作正常。再次感谢您的快速回复。 – Roland 2014-09-19 03:38:59