jQuery - 用类名替换循环

发布于 2024-08-23 17:20:25 字数 594 浏览 4 评论 0原文

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 来做到这一点 - 不起作用:-(

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));
});

A JavaScript function searches for
textarea with class "richtextbox" and
calls another function (not posted
here) ... tried to do this with jQuery
- does not work :-(

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

勿忘初心 2024-08-30 17:20:25

问题是这一行:

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

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

我怀疑你的意思是:

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

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

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

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

The problem is this line:

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

means you call richtextbox(this) and pass it's return value into each(). That won't work unless the function returns a function.

What I suspect you mean is:

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

That's the correct way to pass a named function as a parameter.

Ideally, this would be assumed by the function rather than passed in as an argument, which would allow you to shorten the code to:

$(function() {
  $("textarea.richtextbox").each(richtextbox);
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文