hpricot:Hpricot::Traverse#nodes_at

>> require "hpricot"
=> true
>> doc = Hpricot('<p>foo1</p><p>foo2</p><p>foo3</p><p>foo4</p>')
=> #<Hpricot::Doc {elem <p> "foo1" </p>} {elem <p> "foo2" </p>} {elem <p> "foo3" </p>} {elem <p> "foo4" </p>}>
>> doc.at('p').nodes_at(0)
[0]
=> #<Hpricot::Elements[{elem <p> "foo1" </p>}]>
>> doc.at('p').nodes_at(1)
[1]
=> #<Hpricot::Elements[{elem <p> "foo2" </p>}]>
>> doc.at('p').nodes_at(0..1)
[0..1]
=> #<Hpricot::Elements[{elem <p> "foo1" </p>}, {elem <p> "foo2" </p>}]>
>> doc.at('p').nodes_at(0, 2..3)
[0, 2..3]
=> #<Hpricot::Elements[{elem <p> "foo1" </p>}, {elem <p> "foo3" </p>}, {elem <p> "foo4" </p>}]>
>> doc.at('p').nodes_at(-1)
[-1]
=> #<Hpricot::Elements[]>
>> doc.at('p').nodes_at(-2..-1)
[-2..-1]
=> #<Hpricot::Elements[]>