hpricot:Hpricot::Traverse#comment?
>> require "hpricot" => true >> doc = Hpricot('<!-- foo1 --><p>foo2</p><!-- foo3 -->') => #<Hpricot::Doc {comment "<!-- foo1 -->"} {elem <p> "foo2" </p>} {comment "<!-- foo3 -->"}> >> doc.search("*") => #<Hpricot::Elements[{comment "<!-- foo1 -->"}, {elem <p> "foo2" </p>}, "foo2", {comment "<!-- foo3 -->"}]> >> doc.search("*").each {|x| p [x, x.comment?] } [{comment "<!-- foo1 -->"}, true] [{elem <p> "foo2" </p>}, false] ["foo2", false] [{comment "<!-- foo3 -->"}, true] => #<Hpricot::Elements[{comment "<!-- foo1 -->"}, {elem <p> "foo2" </p>}, "foo2", {comment "<!-- foo3 -->"}]>