如何使用Nokogiri和Ruby为多个类选择

Rus*_*rry 4 css ruby css-selectors nokogiri

从表元素,我想选择具有类even或类的所有行odd.

我尝试了jQuery语法:

report.css("table.data tr[class~=odd even]").each{|line| parse_line_item(line)}
Run Code Online (Sandbox Code Playgroud)

但它提出了一个错误,任何帮助表示赞赏,谢谢.

Ron*_*era 10

使用两个选择器: report.css("table.data tr.odd, table.data tr.even")

~=CSS属性选择器中的运算符检查该值是否与以空格分隔的类列表匹配.例如,tr[class~=odd]匹配<tr class="odd"><tr class="odd ball">.但是,在class属性的特定情况下,更好的选择器就是简单的tr.odd.

如果您使用~=值中包含空格的运算符(如同tr[class~="odd even"],则选择器将永远不会匹配任何内容.