gpt4 book ai didi

Javascript - 将函数分配给变量无法按预期工作

转载 作者:行者123 更新时间:2023-11-30 07:43:31 27 4
gpt4 key购买 nike

当我尝试从函数返回对象并将其分配给 smalls 变量时,变量 smalls 为空,因为它的长度返回为 0。

var smalls = function(){
var table = $("#box-table-a");
return table.find("small");
}, smallContent;
for(var i = 0; i<smalls.length; i++){
smallContent = smalls[i].innerHTML;
smalls[i].parentElement.className += "relative";
smalls[i].className += "form-absolute-right";
smalls[i].innerHTML = "<span class='bubble'>" + smallContent + "<span>";
}

虽然这有效并且变量 smalls 具有所需的长度。

    var table = $("#box-table-a");
var smalls = table.find("small"); //fetch the tr's with <small> tag
var smallContent;
for(var i = 0; i<smalls.length; i++){
smallContent = smalls[i].innerHTML;
smalls[i].parentElement.className += "relative";
smalls[i].className += "form-absolute-right";
smalls[i].innerHTML = "<span class='bubble'>" + smallContent + "<span>";
}

根据我对 Javascript 的了解,可以将函数分配给变量。我做错了什么?

最佳答案

你忘了在这里执行smalls

var smalls = function(){
var table = $("#box-table-a");
return table.find("small");
}, smallContent;
for(var i = 0; i<smalls.length; i++)
// ^smalls is a function pointer

var smalls = function(){
var table = $("#box-table-a");
return table.find("small");
}(), smallContent;
// ^execute the function
for(var i = 0; i<smalls.length; i++)
// ^smalls is a nodeList

关于Javascript - 将函数分配给变量无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11686348/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com