jQuery - заменить цикл на 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 ответ
Проблема в этой строке:
$('.richtextbox').each(richtextbox(this));
значит ты звонишь richtextbox(this)
и передать это возвращаемое значение в each()
, Это не будет работать, если функция не возвращает функцию.
Я подозреваю, что вы имеете в виду:
$(function() {
$("textarea.richtextbox").each(function() {
richtextbox(this);
});
});
Это правильный способ передачи именованной функции в качестве параметра.
В идеале, this
будет восприниматься функцией, а не передаваться в качестве аргумента, что позволит вам сократить код до:
$(function() {
$("textarea.richtextbox").each(richtextbox);
});