Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JQuery Sub Selector question

Tags:

jquery

my html

<div id="x">
  <div id="x1">
    some text
    <div>other text</div>
  </div>
  <div id="x2">just text</div>
<div>

my call

I have this element than can be any jquery selector, 1 or more elements:

var x = $("#x");

now I NEED (this is a plugin who will discover inner elements like tabs) to navigate only thru the firsts DIV elements and not its childrends. I'm trying...

$.each($($("div"), x), function() {
  alert($(this).html());
});

shows: 1. some textother text 2. other text 3. just text

$.each($($("div"), x).siblings(), function() {
  alert($(this).html());
});

shows: 1. just text 2. some textother text

this is the most approximate, but I need in the correct order. any suggestion ? thanks

ps. because it's a plugin I cant do this.

$("#x", "div....")

I need to do this

#(newselector, x)
like image 282
Rodrigo Asensio Avatar asked Aug 11 '09 17:08

Rodrigo Asensio


2 Answers

If you cannot use $("#x > div") because it should work with all selectors you think of then assuming you defined that specific selector to var x:

var x = $('#x');

// this will select only the direct div children of x whatever the x is
x.children('div');
like image 100
RaYell Avatar answered Sep 29 '22 07:09

RaYell


Use:

$("#x > div")

as your selector - it will only select the direct children of the div whose id is x.

like image 23
John Rasch Avatar answered Sep 29 '22 08:09

John Rasch