使用jquery编写javascript并使用变量

Writing javascript with jquery and using a variable

本文关键字:变量 javascript jquery 编写 使用      更新时间:2023-09-26

作为一个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")。任何帮助或指针教程感激收到!

<

解决方案/strong>

谢谢大家,但特别要感谢Caleb。我取消了一般功能和onClick,为锚添加了一个ID,并为该锚插入了以下内容(然后重复,对于每个锚/div组合,我想使用它…D

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

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

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

jQuery是由"选择器"驱动的——类似于CSS语法

不要引用变量名。只要加上"#"前缀。

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

更改为:

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

在函数

周围不需要$()

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

中指定的元素。

这行不通。revealCode对该作用域是本地的,外部不知道。而且,您没有使用传递给处理程序的参数。

如果你使用jQuery,使用它来绑定处理程序,像这样:

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

将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});