Подтвердить что ты не робот

JQuery - выбор элементов изнутри элемента

скажем, у меня такая разметка:

<div id="foo">
  ...
  <span id="moo">
    ...
  </span>
  ...
</div>

и я хочу выбрать #moo.

почему $('#foo').find('span') работает, но $('span', $('#foo')); не работает?

4b9b3361

Ответ 1

Вы можете использовать любой из них [начиная с самого быстрого]

$("#moo") > $("#foo #moo") > $("div#foo span#moo") > $("#foo span") > $("#foo > #moo")

Посмотрите

Ответ 2

Собственно, $('# id', this); будет выбирать #id на любом уровне потомков, а не только на непосредственном дочернем. Вместо этого попробуйте:

$(this).children('#id');

или

$("#foo > #moo")

или

$("#foo > span")

Ответ 3

Почему бы просто не использовать:

$("#foo span")

или

$("#foo > span")

$('span', $('#foo')); отлично работает на моей машине;)

Ответ 4

Посмотрите здесь - для запроса подэлемента элемента:

$(document.getElementById('parentid')).find('div#' + divID + ' span.child');

Ответ 6

Вы можете использовать опцию find для выбора элемента внутри другого. Например, чтобы найти элемент с id txtName в конкретном div, вы можете использовать как

var name = $('#div1').find('#txtName').val();