$(".widget > .widget") // stops at first desendant $(".widget .widget : first") //might work too, haven't tried it Andrew Ingram wrote: Apologies for the subject line, I'm struggling to explain the problem in a concise manner.I have the following document: <body> <h1 class="page-editable" widget="line">Page Title Goes Here</h1> <div widget="repeat-area"> <div widget="repeat"> <h2 widget="line">Section Heading</h2> <div widget="repeat-area"> <div widget="repeat"> <h3 widget="line">Section Title</h3> <p widget="textarea">Content…</p> <img src="" widget="image" /> </div> <div widget="repeat"> <h3 widget="line">Section Title</h3> <p widget="textarea">Content…</p> <img src="" widget="image" /> </div> </div> </div> </div> </body> I am trying to recursively access each element with the attribute 'widget'. The first level of recursion is easy: $('[widget]:not([widget] [widget])') Which matches all widgets that are not descendants of other widgets, ie the top level. The problem is with the next recursive steps, I can't figure out how to find just the first level of widgets that are a descendents of the current node. $('[widget]:not([widget] [widget])').each(function(i){ // For example, I need a query I'd put here to access the next level of elements. }); There is no guarantee that the widgets would be direct children of each other, or that they'd be on the same tree level as their 'sibling' widgets. Basically I need a way of finding all widgets that are descendents of the current working node, but with no other widgets in-between. If anything needs clarifying let me know. Regards, Andrew Ingram |
- [jQuery] Trying to match just the first descendent in each t... Andrew Ingram
- [jQuery] Re: Trying to match just the first descendent ... Charlie
- [jQuery] Re: Trying to match just the first descend... Karl Swedberg