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

如何基于其他div存储的用户等级用JS条件显示/隐藏指定div

问题修复说明

你写的代码存在2个核心问题:

  • JavaScript 对大小写敏感,document.GetElementById写法错误,正确方法名是document.getElementById(首字母小写),原写法会调用失败无法获取DOM元素
  • 从#level标签中取到的innerHTML是字符串类型,直接和数字做比较存在隐式类型转换风险,建议先显式转为数值再判断

修正后完整代码

JavaScript 代码

function myFunction() {
  const myDiv = document.getElementById("myDiv");
  const levelEle = document.getElementById("level");
  // 增加元素存在性判断,避免页面结构变动时报错
  if (!myDiv || !levelEle) return;
  // 取等级值并转为整数,先trim去除前后可能存在的空格
  const userLevel = parseInt(levelEle.innerHTML.trim(), 10);
  myDiv.style.display = userLevel >= 2 ? "block" : "none";
}

HTML 代码

<body onload="myFunction();">
  <div id="level">2</div>
  <div id="myDiv" style="display:none;">2级及以上用户可见内容</div>
</body>

补充注意事项

前端仅做展示层的隐藏,无法作为安全控制手段,用户可以通过手动修改DOM属性、控制台执行JS的方式绕过前端限制看到隐藏内容。如果是付费、私密类的敏感内容,一定要在WordPress服务端渲染页面时就判断用户等级,未达标用户不要输出对应内容到页面中。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 19:57:04