【问题标题】:jQuery - replace loop by classNamejQuery - 用类名替换循环
【发布时间】:2011-01-23 13:57:51
【问题描述】:
function loadTextboxes()
{
    var textareas = document.getElementsByTagName('textarea');

    for(var i=0; i < textareas.length; i++)
    {
        if (textareas.item(i).className == "richtextbox")
        {
            richtextbox(textareas.item(i));
        }
    }
}

//window.attachEvent('onload',loadTextboxes);

$(document).ready(function() {
    //loadTextboxes(); // works ...
    $('.richtextbox').each(richtextbox(this));
});

JavaScript 函数搜索 具有“richtextbox”类的文本区域和 调用另一个函数(未发布 这里)...试图用jQuery做到这一点 - 不工作:-(

【问题讨论】:

    标签: jquery loops classname


    【解决方案1】:

    问题出在这一行:

    $('.richtextbox').each(richtextbox(this));
    

    表示您调用richtextbox(this) 并将其返回值 传递给each()。除非函数返回一个函数,否则这将不起作用。

    我怀疑你的意思是:

    $(function() {
      $("textarea.richtextbox").each(function() {
        richtextbox(this);
      });
    });
    

    这是将命名函数作为参数传递的正确方法。

    理想情况下,this 将由函数假定,而不是作为参数传入,这样您就可以将代码缩短为:

    $(function() {
      $("textarea.richtextbox").each(richtextbox);
    });
    

    【讨论】:

      猜你喜欢
      • 2019-04-04
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-01
      相关资源
      最近更新 更多