我有这样的HTML元素:ID为包括[]查找标签与引入nokogiri
<div id="spam[500]">
我想搜索通过ID这个元素,但似乎引入nokogiri是越来越由[]混淆。我试图:
doc.css("#spam[#{eggs.id}]")
但无济于事。
我有这样的HTML元素:ID为包括[]查找标签与引入nokogiri
<div id="spam[500]">
我想搜索通过ID这个元素,但似乎引入nokogiri是越来越由[]混淆。我试图:
doc.css("#spam[#{eggs.id}]")
但无济于事。
克里斯,试试这个,让我知道,如果它的工作原理:
doc = Nokogiri::HTML(page)
el = doc.xpath("//div[@id='spam[500]']").first
的问题是,你不能(即使是在浏览器),通过CSS来访问它。尝试设置一些CSS属性为“垃圾邮件[500]”,它们将不会被应用。但是,您可以通过xpath访问,如上所示。
真正这里的问题是,字符[和]是在HTML4(或XML)id属性非法 - 看看下面:
http://www.w3.org/TR/html401/types.html#type-name
(id属性的规范定义看www.w3.org//TR/html401/struct/global.html#adef-id)
你也可以做到这一点对元件HA这样
el = doc.xpath("id(spam[500])").first
ving id的你可以通过id直接打电话给他们,因为它总是独一无二的。
查找xpaths,请在firefox中添加一个'xpath checker'插件。它帮助很多很容易
它确实有效。谢谢。 – 2009-08-06 13:05:37