作为一个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);
});
答案 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});