我有一张表看起来像:
<table>
<tr>
<td>one</td><td>two</td><td>three</td><td>last</td>
</tr>
<tr>
<td>blue</td><td>red</td><td>green</td><td>last</td>
</tr>
<tr>
<td>Monday</td><td>Tuesday</td><td>Wednesday</td><td>last</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我想要的是一个jquery选择器,它将选择除td每个表行的最后一个之外的所有表.我试过了:
$("tr td:not(:last)").css("background-color","red");
//changing color just as a test...
Run Code Online (Sandbox Code Playgroud)
但是,不是所有单元格而是每行的最后一个单元格都被更改,所有单元格,但是表格中的最后一个单元格都被选中.同样,如果我将其更改为:
$("tr td:last").css("background-color","red");
Run Code Online (Sandbox Code Playgroud)
唯一改变的是最后一个细胞.如何选择每行的最后一个(或不是最后一个)?
我得到以下代码,它循环遍历所有子项。我需要获取迭代次数,以便将其与子项总数进行比较。一旦循环处于最后一次迭代,就需要单击“下一步”按钮,以便打开新页面。
cy.get('[data-automation="AssetGrids_GridItemContainer_div"]').each(
($element, index) => {
cy.get('[data-automation="AssetGrids_GridItemContainer_div"]').then(
(listing) => {
const listingCount = Cypress.$(listing).length;
cy.log('Number of elements: ' + listingCount);
}
);
if (listingCount !=== index-1) {
// Do some magic here if it's not the last iteration
}
});
Run Code Online (Sandbox Code Playgroud)
我不确定这个解决方案是否正确,并且不会两次使用相同的定位器引发任何问题。有没有什么方法可以获取仅声明循环的找到元素的数量,以避免使用它?
cy.get('[data-automation="AssetGrids_GridItemContainer_div"]').then(
(listing) => {
const listingCount = Cypress.$(listing).length;
cy.log('Number of elements: ' + listingCount);
}
Run Code Online (Sandbox Code Playgroud)