hpricot:Hpricot::Traverse#search
>> require "hpricot" => true >> doc = Hpricot('<p>foo1</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>}> >> doc.at('p').search("*") => #<Hpricot::Elements[{elem <p> "foo1" </p>}, "foo1"]> >> doc.at('p').search("p") => #<Hpricot::Elements[]> >> doc = Hpricot('<p><b>foo1</b></p><p>foo2</p>') => #<Hpricot::Doc {elem <p> {elem <b> "foo1" </b>} </p>} {elem <p> "foo2" </p>}> >> doc.at('p').search("b") => #<Hpricot::Elements[{elem <b> "foo1" </b>}]> >> doc = Hpricot('<p><b>foo1</b>hoge</p><p>foo2</p>') => #<Hpricot::Doc {elem <p> {elem <b> "foo1" </b>} "hoge" </p>} {elem <p> "foo2" </p>}> >> doc.at('p').search("b") => #<Hpricot::Elements[{elem <b> "foo1" </b>}]> >> doc.at('p') => {elem <p> {elem <b> "foo1" </b>} "hoge" </p>}