2014-02-13 93 views

回答

4

還有就是ancestors method

node.ancestors.each do |a| 
    break if a.attributes['id'].present? 
end 

目前尚不清楚你想要做什麼,但你可以通過一個選擇器作爲參數,所以要找到其中有一個id屬性,你可以做到這一切的祖先:

node.ancestors("[@id]") 
1

遞歸的方法來獲得一個包含所有節點到根的數組:

get = proc { |n| [n] + (n.respond_to?(:parent) ? get.(n.parent): []) } 
get.(node)