用jquery编写javascript并使用变量

时间:2011-10-21 15:22:57

标签: javascript jquery

作为一个javascript新手,我正在努力使用一个运行一些JQuery的变量的脚本(并且在这里努力使用正确的语言,我确定!)

我想要发生的操作是更改特定div的CSS类,例如#det90,我有以下代码(我在$(window)上使用了相同的.load(function(),它适用于不同的div组):

$("#MYDIVIDHERE").switchClass("sdeth","sdet",50);

所以我写了以下内容:

<script type="text/javascript">
    $(function revealCode(divID) {
        $("#divID").switchClass("sdeth","sdet",50);
    })
</script>

并从锚点调用它:

onClick="revealCode('det90');"

我认为问题在于我不知道如何编写脚本并将括号(divID)中的变量传递给下一行(我有“#divID”)。感谢任何帮助或教程指针!

解决方案

感谢所有人,尤其是Caleb。我已经废弃了一般函数和onClick,为锚点添加了一个ID并为该锚点插入了以下内容(然后为每个锚点/ div组合重复一遍,我想在它上面使用它...它的工作原理:D < / p>

$("#linkID").click(function() {
    $("#divID").switchClass("sdeth","sdet",50);
});

5 个答案:

答案 0 :(得分:0)

不要引用您的变量名称。只需引用“#”前缀。

<script type="text/javascript">
    $(function revealCode(divID) {
        $("#" + divID).switchClass("sdeth","sdet",50);
    })
</script>

答案 1 :(得分:0)

更改为:

<script type="text/javascript">
   function revealCode(divID) {
        $("#" + divID).switchClass("sdeth","sdet",50);
    }
</script>

围绕功能

您不需要$()

$("#divID")将查找ID为divID的元素,而不是函数参数中指定的元素

答案 2 :(得分:0)

将您的代码更改为:onClick="revealCode('#det90');"

$(function revealCode(selector) {
    $(selector).switchClass("sdeth","sdet",50);
})

jQuery由“选择器”提供支持 - 类似于CSS语法。

答案 3 :(得分:0)

这不起作用。 revealCode是该范围的本地,外部不知道。此外,您没有使用已经传递给处理程序的参数。

如果您正在使用jQuery,请使用它来绑定到处理程序,如下所示:

jQuery(document).ready(function() {    
    function revealCode(divID) {
        $("#" + divID).switchClass("sdeth","sdet",50);
    }

   jQuery("#divID").click(function() {
        revealCode('det90');
   });    
});

答案 4 :(得分:0)

将onclick事件处理程序附件移动到javascript代码中。您应该尽量不要将您的功能代码与您的HTML混合使用。

匿名版:

$('#myDiv').click(function () {
    $(this).switchClass("sdeth","sdet",50);
});

普通版:

var myFunction = function (element) {
    $(element).switchClass("sdeth","sdet",50);
};

$('#myDiv').click(myFunction, {element: this});