0

我做了一个函数来设置 .click 传递给它的按钮数量。

当另一个 Jquery 检测到页面上的按钮数量时调用该函数

...
var n = $(".button").length + 1;
...
set_navig(n);
...

function set_navig(n){
    for(i=1 ; i<n ; i++){
        var btn = "#pb" + i;
        $(document).ready(function(){
            $(btn).click(function(){
                alert('Working!');
            });
        });
    }
}

我已经尝试在页面上删除或添加按钮 - 正确的 (n) 被传递给函数,但总是只有最后一个根本不起作用。

有任何想法吗?


谢谢大家,这里有这么多好东西。当我开始学习它时,你是 Jquery 知识的主要来源。

4

1 回答 1

0

好吧,我最初认为你应该使用 i<=n,但是你传递了长度 + 1(顺便说一句,这很不寻常)。您可以只传递按钮数组而不是长度。然后你可以遍历每一个。

除了样式之外,我没有看到代码的特定错误,所以也许你没有得到你想象的那么多的 .button 对象,或者你可能在最后一个 ID 中有错字。您应该粘贴 html 代码示例,或者使用 alert() 自行调试以查看正在传递的值。

为了将来参考,许多语言中的常见循环是:for(i=0;i<n;i++){}或者for(i=1;i<=n;i++){}我会说将长度 + 1 传递给您的函数是非常糟糕的做法。

于 2013-10-03T20:58:50.940 回答