2015-10-21 18 views
1
<span id="[LINK1]"><a href="link1" target="_blank" onclick="window.open('[LINK2]'); window.open('[LINK3]');">text</a></span> 

每當鏈接2或3爲空時,代碼將打開一個空白窗口,所以我想知道我可以添加什麼jQuery來檢查windows.open中的括號是否爲空,如果它爲空,則刪除那個window.open()屬性。如何刪除window.open()()中的鏈接是否爲空?

編輯:爲了闡明,鏈接是從DNN模板模板編輯器中使用的令牌生成的。例如,有一種形式,我在字段link1中輸入一個鏈接,然後使用標記[LINK1],將使用該字段中的鏈接。

謝謝

+0

檢查它的功能和調用函數'onclick' – SeeSharp

回答

1

你應該創建一個函數,做檢查它。

<a href="link1" onclick="open_links(link2, link3)">text</a> 
<script type="text/javascript"> 
    function open_links(link2, link3) { 
     if (link2 != '') 
      window.open('link2'); 
     if (link3 != '') 
      window.open('link3'); 
    } 
</script> 
+0

您好,感謝您的答覆!代替鏈接1,2和3,我使用的是令牌,它從表單中獲取鏈接。我嘗試用標記名稱替換所有鏈接值,但它僅從href中的第一個鏈接打開頁面。我想知道在這種情況下我是否需要做一些不同的事情。 –

0

試試這個。你可以從任何外部來源獲得網址。對於下面的例子,我使用了一個數組。

<span id="link"><a href="link1" target="_blank" onclick="window.open('link2'); window.open('link3');">text</a></span> 
<br> 
    Old HTML : 
    <div id="old"></div> 
    <br> 
New HTML: 
    <br> 
<div id="new"></div> 

var newLinks = ""; 
var linkArray = new Array(); 
linkArray.push("http://www.google.com"); 
linkArray.push("http://www.msn.com"); 
linkArray.push(""); 

$.each(linkArray,function(i) 
{ 
    if(linkArray[i]) 
    newLinks += "window.open('" + linkArray[i] + "');"; 
}); 

$("#old").text($("span").html()); 

$("span a").attr('onclick', newLinks); 

$("#new").text($("span").html()); 

http://jsfiddle.net/ukdny1gb/2/