- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
应该是一个很简单的问题让我卡了几天和往常一样,虽然有很多类似的问题,但没有完全匹配(可能是因为我使用元素创建表格,而不是 ).
简而言之,我有一个按钮,单击该按钮会向下面的函数发送一个市场 ID(为了避免疑义,它可以正常工作)。
想法是,该函数然后隐藏所有在市场 ID 列中没有该市场 ID 的表行。很简单!
但是,由于某些原因,我似乎无法做到这一点,因为我经常遇到类型错误。
我已经尝试找到子节点并尝试派生父节点以及相反的方向,但到目前为止没有运气。
我不必使用这种方法,只要我可以在将市场 ID 传递给函数时隐藏所有不包含市场 ID 的行,就可以了。
但是,我没有想法,所以感谢任何帮助!
我已经尝试了多种方法(例如 parentNode、childNode、children 等),但我总是会遇到与下面类似的错误。
这是 HTML:
<div class="divTable blueTable" id="bluetable">
<div class="divTableHeading" id="blue_table_head">
<div class="divTableRow" id="header_row">
<div class="divTableHead">Selection Name</div>
<div class="divTableHead">Selection ID</div>
<div class="divTableHead">Market ID</div>
</div>
</div>
<div class="divTableBody" id="blue_table_body">
<div class="divTableRow" id="blue_table_row_0">
<div class="divTableCell"><div>Selection A</div></div>
<div class="divTableCell"><div>1136035</div></div>
<div class="divTableCell"><div class="1.15">1.15</div></div>
</div>
<div class="divTableRow" id="blue_table_row_1">
<div class="divTableCell"><div>Selection B</div></div>
<div class="divTableCell"><div>11148977</div></div>
<div class="divTableCell"><div class="1.15">1.15</div></div>
</div>
<div class="divTableRow" id="blue_table_row_2">
<div class="divTableCell"><div>Selection C</div></div>
<div class="divTableCell"><div>4519440</div></div>
<div class="divTableCell"><div class="1.15">1.15</div></div>
</div>
<div class="divTableRow" id="blue_table_row_3">
<div class="divTableCell"><div>Selection D</div></div>
<div class="divTableCell"><div>10974022</div></div>
<div class="divTableCell"><div class="1.16">1.16</div></div>
</div>
<div class="divTableRow" id="blue_table_row_4">
<div class="divTableCell"><div>Selection E</div></div>
<div class="divTableCell"><div>1136034</div></div>
<div class="divTableCell"><div class="1.17">1.17</div></div>
</div>
</div>
</div>
这是 Javascript 函数:
function btn_click($button_id) {
var list = document.getElementsByClassName("divTableRow");
for (a = 2; a < list.length; a++) {
var b = list[a];
var c = b.getElementsByClassName($button_id);
var d = c.parentNode.nodeName;
console.log(d);
}
}
我得到的错误是:
Uncaught TypeError: Cannot read property 'nodeName' of undefined
但是,如果我只查看“c”的日志(即 console.log(c)),我可以看到 $button_id 中的 id 正确返回了相关类。
因此,我需要以某种方式找出一种替代方法来确定哪些行是要隐藏的正确行,但我有点卡住了。
最佳答案
正如 Funk Doc 评论的那样,问题在于您正在使用
var c = b.getElementsByClassName($button_id);
返回元素数组。
解决方法:如果您想使用所有这些元素,请循环遍历它们,例如:
var c = b.getElementsByClassName($button_id);
for(var i = 0; i < c.length; i++) {
var e = c[i].parentNode.parentNode.id;
//whatever you want to do next
}
有趣的是,使用 foreach 循环(如 for(var i in c) {...}
)反而会导致 TypeError
。
但是如果你希望那里只有一个元素,使用
var c = b.getElementsByClassName($button_id)[0];
关于javascript - 努力根据特定列的值隐藏行(理论上应该很容易......),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55836594/
所以我试图让(例如)输入一些值:1 -2 -3 2 5正数的数量是 5 负数的数量是 -3总计为 3 平均值为 0.6我想让它像这样,但是当我运行它时,它不起作用哪一部分是错误的??? import
我编写了一个使用 OpenCV 的 cvCalcOpticalFlowLK 的程序。它在低分辨率网络摄像头输入上表现良好,但我需要在全高清流上运行它,并在对每一帧进行光流分析后进行重要的其他计算。处理
如果我有一个 ruby 脚本 Daemon,顾名思义,它作为守护进程运行,监视系统的各个部分并能够执行需要身份验证的命令,例如更改权限,是否存在一个简单的方法来拥有第二个 ruby 脚本,比如
我们有一个基于 Ant 和 Ivy 的构建管理系统,它基本上由一个共享的 ant 文件和一组围绕目录结构的约定组成。 我试图克服的一个障碍是相当常见的“递归发布”情况。比如说,我们有 5 个内部代码模
我在嵌入式 Linux 环境中遇到了问题。尝试确定它是否可以由应用程序引起。应用程序导致内核崩溃/锁定或终止 init 有多容易? 最佳答案 非根应用程序应该不可能影响任何一个。 以 root 身份运
我目前正在尝试学习 Nim(进展缓慢 - 无法投入太多时间)。另一方面,为了获得一些工作代码,我想对我正在 ruby 中开发的 Nim 应用程序的各个部分进行原型(prototype)设计。 由于
我是一名优秀的程序员,十分优秀!