jQuery - 用className替换循环

时间:2010-03-04 08:25:17

标签: jquery loops classname

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函数搜索   textarea与类“richtextbox”和   调用另一个函数(未发布   在这里)...试图用jQuery做到这一点    - 不起作用: - (

1 个答案:

答案 0 :(得分:3)

问题在于这一行:

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

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

我怀疑你的意思是:

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

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

理想情况下,this将由函数承担,而不是作为参数传入,这将允许您将代码缩短为:

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