2014-09-19 86 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