猿问

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

我有一个聊天框,我正在制作一个块功能。我几乎已经得到了代码,但它不起作用(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”循环之前成功发生错误通常根本不做任何事情


偶然的你
浏览 164回答 1
1回答

慕妹3146593

var在全局范围内定义一个变量。您正在使用它来存储<td>属性列表和属性值。首先尝试使用不同的变量名称:var myTds = document.getElementsByTagName("td");var i;for (i = 0; i < myTds.length; i++) {&nbsp; &nbsp; var btn = myTds[i];&nbsp; &nbsp; var x = btn.attributes[1].value;&nbsp; &nbsp; if (x=="hamster") {&nbsp; &nbsp; &nbsp; &nbsp; myTds[i].style.visibility = "hidden";&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; myTds[i].style.visibility = "visible";&nbsp; &nbsp; }}另请注意:1) 你应该==用于比较;2)您不需要使用document.getElementsByTagName("td").3)在您的 HTML 中更改username="hampster"为username="hamster"以查看示例工作。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答