Javascript 通过特定行/设置函数的同级循环
为了学习这门语言,我试图阅读我正在引用的javascript书籍,但却被困在特定行的兄弟循环中。W3学校和W3没有我想要的。下面是一个函数遍历 它的内容是:创建countRecords()函数。此函数的目的是统计数据表中表标题后的可见行数。总数随后显示在id为“records”的表格单元格中。将以下命令添加到函数中: a。创建一个名为headlow的对象,该对象指向id为“titleRow”的表行。创建一个名为rowCount的变量,将其初始值设置为0 b。创建一个for循环,该循环使用家族引用,从头枕的第一个兄弟姐妹开始,移动到下一个兄弟姐妹,直到没有兄弟姐妹为止。在for循环中。测试当前下一个同级节点的节点名是否正确,直到没有剩余同级节点。在for循环中,测试当前节点的节点名是否等于“TR”。如果是,则测试其显示样式的值是否等于空文本字符串。如果是(表明它在文档中可见),则将rowCount变量的值增加1 c。将“records”表格单元格的文本更改为rowCount变量的值。不要使用innerHTML。创建包含rowCount变量值的文本节点,并将其分配给名为txt的变量。创建一个名为record的变量来存储对元素“records”表单元格的引用 d。插入一个if条件,测试“records”单元格是否有任何子节点。如果是,则用创建的文本节点(txt)替换“记录”表格单元格的文本节点。如果未将文本节点附加到单元格中Javascript 通过特定行/设置函数的同级循环,javascript,Javascript,为了学习这门语言,我试图阅读我正在引用的javascript书籍,但却被困在特定行的兄弟循环中。W3学校和W3没有我想要的。下面是一个函数遍历 它的内容是:创建countRecords()函数。此函数的目的是统计数据表中表标题后的可见行数。总数随后显示在id为“records”的表格单元格中。将以下命令添加到函数中: a。创建一个名为headlow的对象,该对象指向id为“titleRow”的表行。创建一个名为rowCount的变量,将其初始值设置为0 b。创建一个for循环,该循环使用家族引用
var headRow; // part a
var rowCount = 0;
//这是我迷路的地方。我知道我需要访问id标题,但不确定如何专门为此设置循环
headRow = document.getElementById("titleRow");
for(var i=0; i<headrow.length; i++)
{
if (something is not equal == "TH")
{
make code happen here
}
if (is "TR" == ""){
rowCount = +1;
}
//d部分在我弄明白a,b,c之前,先把这部分搁置起来
HTML支持代码段:
<table id="filters">
<tr><th colspan="2">Filter Product List</th></tr>
<tr>
<td>Records: </td>
<td id="records"></td>
</tr>
<table id="prodTable">
<tr><th colspan="8">Digital Cameras</th></tr>
<tr id="titleRow">
<th>Model</th>
<th>Manufacturer</th>
<th>Resolution</th>
<th>Zoom</th>
<th>Media</th>
<th>Video</th>
<th>Microphone</th>
</tr>
筛选产品列表
记录:
数码相机
模型
制造商
决议
快速移动
媒体
视频
话筒
谢谢你的帮助 你应该检查一下酒店。我不确定你想严格遵守你的书,但是while
循环似乎比for
更合适:
var headRow = document.getElementById("headRow");
var rowCount = 0;
var cRow = headRow; // used as a reference to the current row
while (cRow = cRow.nextSibling) // While there is a next sibling, loop
{
if (cRow.tagName == "TR" && cRow.style.display === "")
rowCount++; // increment rowCount by 1
}
如果您坚持使用for
循环,我想您可以这样做:
var headRow = document.getElementById("headRow");
var rowCount = 0;
for (var cRow = headRow.nextSibling; cRow = cRow.nextSibling;)
{
if (cRow.tagName == "TR" && cRow.style.display === "")
rowCount++; // increment rowCount by 1
}
/**
*安排命令以检索WebElements的计数
*此函数可以从助手控件调用到页面对象
*方法
*/
请解释您的答案,不要只发布代码。虽然此代码可能会解决问题,但如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。
var headRow = document.getElementById("headRow");
var rowCount = 0;
for (var cRow = headRow.nextSibling; cRow = cRow.nextSibling;)
{
if (cRow.tagName == "TR" && cRow.style.display === "")
rowCount++; // increment rowCount by 1
}
console.log('Driver: ' + this.driver);
let test = await this.driver.findElements({css: this.cssLocator})
console.log('--test: ' + test);
console.log('--test length: ' + test.length);
return test.length;