which is incorrect, because the second down() starts from within
#child1, whereas it should have started from within #parent.
By not declaring the "parent" variable and use page["parent"] for
every highlight() call it would work, but it's not very DRY. I could
also append a bunch of up() and down() in a long chain, but the code
gets messy difficult to follow.
I was wondering if there are any good ways to generate code that are
correct, clean, and DRY?
which is incorrect, because the second down() starts from within
#child1, whereas it should have started from within #parent.
By not declaring the "parent" variable
I think maybe the problem you're having results from declaring a
variable, and perhaps naming a DOM element, 'parent'. parent is a
Javascript property; as in:
window.parent
Try using a different name and see if the problem persists.
Oh, actually it's just a simplified example code to focus on the
concept. The problem is that when I use a ruby variable containing an
element multiple times, RJS chains them together while disregarding
the traversal methods, which generates incorrect code.