Jquery if / else语句在iframe,css和样式元素之间切换

时间:2014-03-12 13:48:26

标签: jquery css iframe if-statement dynamic

好的,所以我正在为我的公司建立一个网站,我觉得我们正在做一些有点独特的事情,因为在过去的三天里,我一直在google做什么,而且我几乎没有任何东西。我也低于新手,但我正在努力学习。

JAVASCRIPT:

$(document).ready(function () {
    alert('yea');
    $("spaceButton").click(function(){
        var fileref=document.createElement("link");
        fileref.setAttribute("href", "css/galaxy.css");
        fileref.setAttribute("type", "text/css");
        if ($('element').videoIframe == 0) 
        {
            $("('galaxy').hide()");
            $("#videoIframe").appendChild ('head');
        };
        else
        {
            $("("videoIframe").hide()");    
            $("<link rel="stylesheet" href="css/galaxy.css" type="text/css" media="all">").appendChild('head');
        };
        return false;
        document.getElementsByTagName("head")[0].appendChild(fileref);

    });
});

编辑: 除了@barmar所说的,我用\'s改变了else语句中的链接rel。现在正在运行。

$(document).ready(function () {
alert('yea');
$("#spaceButton").click(function(){
var fileref = $("<link>", { href: "css/galaxy.css", type: "text/css" });
fileref.setAttribute("href", "css/galaxy.css") ;
fileref.setAttribute("type", "text/css");
        if ($('element').attr("videoIframe") == 0) 
        {
            $('galaxy').hide();
            $("#videoIframe").appendChild ('head');
        }
        else 
        {
            $("videoIframe").hide();    
            $("<link rel=\"stylesheet\" href=\"css/galaxy.css\" type=\"text/css\" media=\"all\">").appendChild('head');
        };
document.getElementsByTagName("head")[0].appendChild(fileref);
return false;
});
});

2 个答案:

答案 0 :(得分:0)

您不会在else行上进行条件测试,只会在if行。如果要执行其他测试,则应为else if。另外,您不要在;之前添加else

$(document).ready(function () {
    alert('yea');
    $("spaceButton").click(function(){
        var fileref=document.createElement("link");
        fileref.setAttribute("href", "css/galaxy.css") ;;
        fileref.setAttribute("type", "text/css");
        if ($('element').videoIframe == 0) 
        {
            $("('galaxy').hide()");
            $("#videoIframe").appendChild ('head');
        }
        else if ($('element').galaxy == 0)
        {
            $("("videoIframe").hide()");    
            $("<link rel="stylesheet" href="css/galaxy.css" type="text/css" media="all">").appendChild('head');
        }
        return false;
        document.getElementsByTagName("head")[0].appendChild(fileref);

    });
});

其他问题:

  1. jQuery对象没有.videoIframe.galaxy属性。也许它应该是.attr("videoIframe")

  2. 引用$("('galaxy').hide()")我不知道你的意图。它应该是$('galaxy').hide()。与$("("videoIframe").hide()")类似,其括号也不平衡。

  3. 您在return false之后发表了声明。函数返回后,执行后不执行任何操作。

  4. 我认为您在多个选择器中的ID之前缺少#,例如$("spaceButton")应为$("#spaceButton")。没有它,它正在寻找像<spaceButton>

  5. 这样的元素
  6. 为什么在使用jQuery时调用document.createElement?使用jQuery元素构造函数var fileref = $("<link>", { href: "css/galaxy.css", type: "text/css" });

  7. 请勿将;放在用于程序块的}之后。

  8. 你真的需要学习基本的Javascript和jQuery,你几乎在这段代码的每一行都有错误。

答案 1 :(得分:0)

首先,您必须修复selectors。像$("spaceButton");一样 - 这是一个id,还是这个类?接下来,$("element");选择器是什么?我认为你的意思是$(element),来自例子;你必须声明你的目标选择器是什么。最后,我想建议您进一步了解jQueryJavaScript。此代码段充满了逻辑和语法错误。