我有這樣的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