javascript - 我无法制作一个不确定长度的 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”循环之前成功发生错误通常根本不做任何事情
解决方案
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"
以查看示例是否正常工作。
JSBin在这里
推荐阅读
- javascript - setState 函数没有有效地更新 rows 变量,因此它没有反映在 UI 中?
- python - 为什么在其包中导入的模块会带有自己的模块名称
- git - 从提交 ID 中查找父分支
- java - 文件上的 Java FileLock 并在退出时将其删除
- vba - 使用查找将整个页面复制到文本文档?
- python - django 测试无法在 gitlab ci 中启动
- docker - 如何在 docker 镜像中查找软件版本
- android - 如何在 kotlin 的滚动视图中实现人工签名视图?
- python - 关于谷歌日历 API 的 credential.json 的使用
- pattern-matching - 匹配二进制向量