【发布时间】:2015-06-11 01:57:39
【问题描述】:
当页面有很多具有相同选择器和值的元素时,我尝试编写可以普遍使用的代码。有时我需要对 Capybara 不知道的特定元素做一些事情 - 添加或删除类,更改背景颜色。
当我需要从许多元素中选择一个特定元素时,我会在 .all 的帮助下搜索后得到一个 Capybara::Node::Element 数组,例如.有没有机会以 jQ 可以理解的格式将其中一个元素传递给 jQuery?
简单地传递它,就像传递 css 选择器一样会报错
unknown error: Syntax error, unrecognized expression: #<Capybara::Node::Element:0x00000003e60d90>
我知道的替代方案是
:nth-of-type() / 我试过了,它对我来说工作不稳定,仍然不能完全理解为什么它只能工作在大多数情况下/
直接在 jQuery 中:将所有类似的选择器收集到一个数组中,将其切片并制作我需要的所有东西。可以接受,但有一个缺点:在 Capybara 中提供了更多的脚本。
是否有机会在 .all 的帮助下将搜索结果直接传递给 jQuery 或任何其他替代方案?
附:简单地说,问题是要得到一个 Capybara 和 jQuery 都可以理解的结果。现在,当我遍历类似元素时,我有一个带有许多必要元素的全局计数器。但是我必须根据 Capybara(这里可以是 Capybara::Node::Element)或 jscripts(这里我必须在初始选择器中添加切片)使用它来提供不同的代码。
【问题讨论】: