如果()中的链接为空,如何删除window.open()?

时间:2015-10-21 15:50:31

标签: jquery html hyperlink window.open

<span id="[LINK1]"><a href="link1" target="_blank" onclick="window.open('[LINK2]'); window.open('[LINK3]');">text</a></span>

每当链接2或3为空时,代码将打开一个空白窗口,所以我想知道我可以添加什么jquery来检查windows.open中的括号是否为空,如果为空,则删除该窗口.open()属性。

编辑:为了澄清,链接是从DNN模块模板编辑器中使用的令牌生成的。例如,有一个表单,我在字段link1中输入一个链接,然后我使用令牌[LINK1],将使用该字段中的链接。

谢谢

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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/