如何用jQuery函数返回适配pivottable.js的字符串数组?
问题解决:pivottable.js Area参数函数写法不生效的修复
你的问题核心在于:直接把函数赋值给Area参数,但pivottable.js需要的是函数执行后的数组结果,而非函数本身。三元表达式是直接计算出数组值完成赋值,所以能正常工作;普通函数写法只是传递了函数对象,没有触发执行返回结果。
修复方案:使用立即执行函数
把函数包装成立即执行函数(IIFE),让它在赋值时就执行并返回目标数组:
Area: (function(){ if ($("#output").find('.pvtUi .pvtRows').text() != null) { return ["0"]; } else { return ["1","2"]; } })()
额外优化:修正判断逻辑
jQuery的.text()方法永远不会返回null,只会返回字符串(空字符串表示元素无文本内容)。如果你的判断逻辑是检测元素是否有有效文本,可以把条件改成检测非空字符串,避免误判空文本场景:
Area: (function(){ const rowText = $("#output").find('.pvtUi .pvtRows').text().trim(); if (rowText !== '') { return ["0"]; } else { return ["1","2"]; } })()
内容的提问来源于stack exchange,提问作者aus_fas
相关产品推荐
相关产品推荐

