JQuery - выбор элементов изнутри элемента скажем, у меня такая разметка: <div id="foo"> ... <span id="moo"> ... </span> ... </div> и я хочу выбрать #moo. почему $('#foo').find('span') работает, но $('span', $('#foo')); не работает? Ответ 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'); Ответ 5 оба, похоже, работают. см. скрипту: http://jsfiddle.net/maniator/PSxkS/ Ответ 6 Вы можете использовать опцию find для выбора элемента внутри другого. Например, чтобы найти элемент с id txtName в конкретном div, вы можете использовать как var name = $('#div1').find('#txtName').val();
Ответ 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();