尝试通过我的javascript书我正在引用学习语言并且无法循环通过特定行的兄弟。 W3schools和W3没有我想要的东西。下面是一个功能演练...
它的内容如下:创建countRecords()函数。此函数的目的是计算表标题后数据表中可见行的数量。然后,总数将显示在表格单元格中,ID为“records”。将以下命令添加到函数:
一个。创建一个名为headRow的对象,该对象指向具有id“titleRow”的表行。创建一个名为rowCount的变量,将其初始值设置为0。
湾创建一个for循环,使用从headRow的第一个兄弟开始的家族引用,并移动到下一个兄弟,直到没有兄弟姐妹离开。在for循环中。测试当前下一个兄弟的节点名称,直到没有剩余的sibilings。在for循环测试中,当前节点的节点名称是否等于“TR”。如果是,则测试其显示样式的值是否等于空文本字符串。如果是(表示它在文档中可见)将rowCount变量的值增加1。
℃。将“records”表格单元格的文本更改为rowCount变量的值。不要使用innerHTML。创建一个包含rowCount变量值的文本节点,并将其分配给名为txt的变量。创建一个名为record的变量来存储对元素“records”表格单元格的引用。
d。插入if条件以测试“records”单元格是否具有任何子节点。如果是,请将“记录”表格单元格的文本节点替换为创建的文本节点(txt)。如果它没有将文本节点附加到单元格。
var headRow; // part a
var rowCount = 0;
//部分b这是我迷路的地方。我知道我需要访问id titleRow但不确定如何专门为此
设置我的循环 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;
}
// part c
var txt = document.createTextNode(rowCount);
var record = document.getElementsById("records")
//部分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>
感谢您的帮助!
答案 0 :(得分:3)
您应该查看nextSibling
属性。我不确定您要严格遵循自己的书,但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
}
答案 1 :(得分:0)
/ ** *调度命令以检索WebElement的数量 *此函数可以从您的Helper控件调用到您的页面对象 * 方法 * /
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;