为了账号安全,请及时绑定邮箱和手机立即绑定

我在制作不确定长度的 javascript 列表时遇到问题,仅在分配了某些属性时才显示

我在制作不确定长度的 javascript 列表时遇到问题,仅在分配了某些属性时才显示

偶然的你 2021-08-20 18:05:24
我有一个聊天框,我正在制作一个块功能。我几乎已经得到了代码,但它不起作用(Java 不是我的语言)。我有这个属性,我可以让它消失,但我不能递归地做。在许多情况下,代码完全停止工作。<table><td userclass="" username="cat">cat</td><td userclass="" username="hampster">hamster</td><td userclass="" username="dog">dog</td></table><p id="message"></p><script>  var x = document.getElementsByTagName("td");  var i;  for (i = 0; i < x.length; i++) {        var btn = document.getElementsByTagName("td")[i];        var x = btn.attributes[1].value;        if (x="hamster")        {          document.getElementsByTagName("td")[i].style.visibility = "hidden";        }else{          document.getElementsByTagName("td")[i].style.visibility = "visible";}  }</script>在我包含“For”循环之前成功发生错误通常根本不做任何事情
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

var在全局范围内定义一个变量。您正在使用它来存储<td>属性列表和属性值。首先尝试使用不同的变量名称:


var myTds = document.getElementsByTagName("td");

var i;

for (i = 0; i < myTds.length; i++) {

    var btn = myTds[i];

    var x = btn.attributes[1].value;


    if (x=="hamster") {

        myTds[i].style.visibility = "hidden";

    } else {

        myTds[i].style.visibility = "visible";

    }

}

另请注意:


1) 你应该==用于比较;


2)您不需要使用document.getElementsByTagName("td").


3)在您的 HTML 中更改username="hampster"为username="hamster"以查看示例工作。


查看完整回答
反对 回复 2021-08-20
  • 1 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信