У меня есть структура как это:
Теперь, я использую JQuery для получения только непосредственных детей ul#mycustomid. Но мой код возвращает меня со ВСЕМ литием в моей структуре. Как я должен продолжить двигаться?
Вот мой код:
$(document).ready(function() {
var arri = $("#mycustomid>li").text();
alert(arri);
});
Я попробовал .children () также, он дает мне почти тот же результат. Это действительно действует на мои нервы :(
Мои выводы окна предупреждений точно как показано ниже (включая те белые разрывы):
Item A
Child1 of A
Grandchild of A
Grand Grandchild of A
ItemBItemC
Принимая во внимание, что, это должно быть просто (без пробелов):
Item A
Item B
Item C
Для понимания моей проблемы можно проверить активную версию по http://jsfiddle.net/yS6ZJ/
Укажите на меня в правильном направлении,
Спасибо
Я думаю, что ваш селектор работает нормально - проблема в том, что вы с ним делаете.
Когда вы вызываете .text ()
, вы получаете все содержимое элемента. Все это, включая дочерние элементы.
Попробуйте следующее:
$('#mycustomid > li').each(function() {
alert($(this).find('a:eq(0)').text());
});
Это решит вашу проблему:
$(document).ready(function() {
var arri=$("#mycustomid > li").children('a').append('\n').text();
alert(arri);
});
append ('\ n')
используется только для добавления разрыва строки, чтобы он выглядел нормально в предупреждении.
Чтобы включить всех внуков, вы просто удалите прямую ссылку на LI
:
$(document).ready(function() {
var arri=$("#mycustomid li").children('a').append('\n').text();
alert(arri);
});
И просто получите внуков:
$(document).ready(function() {
var arri=$("#mycustomid li").not("#mycustomid > li").children('a').append('\n').text();
alert(arri);
});
И чтобы получить каждый уровень, вы можете:
$(document).ready(function() {
var ChildOfA=$("#mycustomid > li > ul > li > a").append('\n').text();
var GrandchildOfA=$("#mycustomid > li > ul > li > ul > li > a").append('\n').text();
var GrandGrandChildOfA=$("#mycustomid > li > ul > li > ul > li > ul > li > a").append('\n').text();
alert('List of Child1 of A children:\n\n'+ChildOfA+'\n\n'+
'List of Grandchild of A children:\n\n'+GrandchildOfA+'\n\n'+
'List of Grand Grand child of A children:\n\n'+GrandGrandChildOfA);
});