if user updates a node & you commit changes to server/database you don't need to reload tree, just update that node node.setText('BlahBlah')
but if it's more than one node or updates are comming from server & current user hasn't changed them (tree changes by other users & current user just sees changes) i would update UI with comming changes via websocket & if websockets wasn't possible i would fetch changes by doing ajax request every 20-30 seconds or so.
the thing i'm trying to say is it's better to change a small set of UI because it has better performance & DOM won't change so much, also you don't have to fetch all nodes, even those have not changed.