You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改代码实现记录数小于6(含0条)时隐藏指定链接?

解决记录数为0时指定链接无法隐藏的问题

问题说明

需求是当记录数小于6条时隐藏指定链接,当前代码在记录数为1条时能正常生效,但记录数为0条时链接依然显示,需要修复这个问题。

问题根源

原代码把链接的显示/隐藏逻辑写在了$.each循环内部:

  • 当记录数为0时,循环根本不会执行,链接的样式始终保持初始状态(默认可见)
  • 循环内每次迭代都重复获取DOM元素,属于冗余操作
  • 通过循环的index判断逻辑不准确,应该直接基于记录的总数量来判断

修复后的代码

function getfunction(token) {
    httpRequest = new XMLHttpRequest();
    httpRequest.open("GET", "/path");
    httpRequest.onreadystatechange = function () {
        if (httpRequest.readyState === 4) {
            if (httpRequest.status === 401) {
                SignOut();
            } 
            else {
                var data = JSON.parse(httpRequest.response);
                var d = $(data).get().reverse();
                // 提前获取链接元素,避免重复DOM查询
                var link = document.getElementById('id-name');
                // 直接根据记录总数判断:小于6条则隐藏
                if (d.length < 6) {
                    link.style.visibility = 'hidden';
                } else {
                    link.style.visibility = 'visible';
                }
                // 继续处理记录渲染的逻辑(如果有的话)
                $.each(d, function(index, itemData) {
                    // 这里写渲染每条记录的代码
                });
            }
        }
    };
}

关键修改点

  1. 将链接元素的DOM查询移到循环外,只执行一次,提升性能
  2. 直接用d.length(记录总数量)判断:当总数小于6(包括0条)时隐藏链接,否则显示
  3. 把记录渲染的逻辑和链接显示逻辑分离,职责更清晰

内容的提问来源于stack exchange,提问作者User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 23:41:31