在Javascript中包含IF语句

时间:2015-07-29 15:01:06

标签: javascript html

我在下面写了一些帮助。我现在正试图结合IF声明。这是我想要完成的,如果%%GLOBAL_Availability%%为空,则不显示按钮。否则,显示按钮并运行脚本。

我做了一些研究并想出了以下内容:

           if (%%GLOBAL_Availability%% ==""){

            <div><input id="ShopButton" style="display: none";></div> 

            }

            else {

            <!--Amazon Shopping button-->
       <div><input id="ShopButton" </div>

<script>


document.querySelector("#ShopButton").addEventListener("click",function(){
    window.location.href='%%GLOBAL_Availability%%';
},false);

</script>

            }

根本不起作用。我是VB.net,只是学习这个方法。

有什么建议吗?

感谢。

3 个答案:

答案 0 :(得分:2)

我假设你的变量%% GLOBAL_AVAILABILITY %%是一个字符串,因为你通过测试它是空的来测试它是空的。

在javascript中,我会提供2个测试,如果字符串存在或是空的。

1 - 使用String对象的.length属性。

2 - 检查它是否存在检查%% GLOBAL_AVAILABILITY %%的类型是否为字符串,使用identity运算符===检查该变量是否为string类型。

您的if语句应如下所示:

if(typeof %%GLOBAL_AVAILABILITY%% === typeof string && %%GLOBAL_AVAILABILITY%%.length > 0){
 //execute code
}

其次,javascript是为了操纵DOM,所以不需要根据条件插入新的HTML,你可以只操纵现有HTML的属性 - 在这种情况下,设置'#ShopButton'的显示属性没有。这可以这样实现:

document.getElementById('ShopButton').style.display = "none";

因此,您的代码应如下所示:

if(typeof %%GLOBAL_AVAILABILITY%% === typeof string && %%GLOBAL_AVAILABILITY%%.length > 0){
     document.getElementById('ShopButton').style.display = "none";
} else{
    document.getElementById('ShopButton').style.display = ""; //MAKE VISIBLE
    document.getQuerySelector('#ShopButton').addEventListener('click', function(){
        document.location.href = '%%GLOBAL_AVAILABILITY%%';
   });
}

答案 1 :(得分:1)

您似乎希望输入为“display:none;”如果变量为空,在这种情况下,您只需根据变量更改样式属性。类似的东西:

<div><input id="ShopButton" style="display: none";></div>
<script>
if (%%GLOBAL_Availability%% == "") {
    document.getElementById("ShopButton").style.display = "block";
    document.querySelector("#ShopButton").addEventListener("click",function(){
      window.location.href='%%GLOBAL_Availability%%';
    },false);
}
</script>

这将简单地将元素呈现为不可见,然后如果变量不为空,脚本将使其可见。

答案 2 :(得分:0)

<div>
    <input id="ShopButton" style="display: none";>
</div>

<script>
    if (%%GLOBAL_Availability%% == "") {
        document.getElementById("ShopButton").style.display = "block";
        document.querySelector("#ShopButton").addEventListener("click",function(){
        window.location.href='%%GLOBAL_Availability%%';
        },false);
    }
</script>

这是你正在尝试做的吗?