我已经创建了一个自定义的jQuery函数,我想在加载时为页面上元素的每个匹配调用它。我用来调用函数的语法:
$(document).ready(function() {
$("div.class1.class2").fixClassesForIE6("a","b");
});
该语法不起作用。永远不会调用fixClassesForIE6
函数。
我想我可能需要以某种形式使用'触发器'?但我不完全确定。
最终,我想:
答案 0 :(得分:1)
我可以看到两个可能的问题:
1)你的选择器错了。您可以通过在JavaScript调试器(例如FireBug for Firefox)中单独执行选择器来确认这一点。
2)方法fixClassesForIE6()...是你的方法吗?我不认为它是一个JQuery方法。如果它是你的方法,那么这将不起作用 - 因为你在选择器的结果上调用它,它没有那个方法。相反,尝试类似:
$(document).ready(function() {
var elements = $("div.class1.class2");
elements.each(function(){ fixClassesForIE6(this, "a","b"); });
}
答案 1 :(得分:0)
为了在页面上选择class1和class2的所有DIV元素,我认为你应该使用 $(“div.class1,div.class2”)代替。
为每个匹配的div / class1或class 2做一些事情,我认为你可以在这里使用each()函数吗?
$("div.class1,div.class2").each(
function(index){
//do something here
});
答案 2 :(得分:0)
使用plugin syntax定义fixClassesForIE6
,一切都很好:
(function($) {
$.fn.extend({
fixClassesForIE6: function() {
return this.each(function() {
// plugin logic goes here
})
}
})
}(jQuery);
如果你已经这样做而且它无法正常工作,那么你在别处就会遇到问题。