我想做的是从列表中找出一个元素。我想把一个链接中的文本,如果它包含正确的文本,请单击该链接。这是html代码:

<table>
 <td>
    <tr><a href='...'>I need help</a></tr>
    <tr><a href='...'>Oh hello</a></tr>
    <tr><a href='...'>Lorem ipsum</a></tr>
 </td>
</table>

我试过这个:
 .click('table > td > tr > a:contains("I need help")')

但由于某种原因它不起作用。
我不能用这个:
.click('table > td > tr:nth-child(1) > a)

因为随着网站越来越大,会有更多的tr标签。
有什么想法吗?

最佳答案

首先,您的HTML代码有点扭曲;<td>必须是<tr>元素的子元素,而不是周围的子元素。我建议阅读关于<table>元素的MDN Docs
关于Dalek的问题;Dalek使用它执行的浏览器的CSS选择器引擎。这将在未来发生变化(被Sizzle替换为一个统一的选择器引擎),但我无法估计这一未来的确切时间。
关于:contains()伪选择器-据我所知,这已经不存在了。当前的CSS3规范已经删除了它,因此不能在Dalek选择器中使用它。

关于javascript - dalekjs单击包含文本但不起作用的链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23677462/

10-12 12:45