jQuery each () проблема с несколькими элементами ul - PullRequest
0 голосов
/ 02 декабря 2011

Хорошо, у меня есть динамически созданный набор элементов, где каждый конкретный вид получает свой собственный контейнер UL для своего набора данных.Итак, у меня есть 1-20 наборов UL на моей странице в любой момент времени, и я пытаюсь сделать для них $ .each ().Таким образом, я могу запустить их и проверить дважды, чтобы убедиться, что на UL больше одного li.Потому что в некоторых случаях мои наборы данных временно отсутствуют и должны быть пополнены.Поэтому я хочу, чтобы длина любого заданного ul была <= 1. Я хочу, чтобы он поместил сообщение в этот контейнер, но в данный момент совпадений нет.Вместо того, чтобы оставить это пустым.Итак, </p>

Я пытаюсь:

$.each('.service_container', function(){$(this).append('no data');});

и

$('.service_container').each(function(){$(this).append('no data');});

вместе с полдюжиной или более концепций для функциональной секции функции each (), чтобы увидеть,Я могу заставить его сделать что-нибудь, и я не могу .. поэтому я ищу предложения.

Ответы [ 2 ]

3 голосов
/ 02 декабря 2011

Чтобы просто найти теги UL без тегов LI, вы можете сделать это:

$("ul").each(function() {
    if ($(this).find("li").length <= 1) {
        // this UL tag has one or zero LI tags in it
        $(this).append('<li>no data</li>');
    }
})
2 голосов
/ 02 декабря 2011

Похоже, вы могли бы сделать:

$('ul.service_container').each(function(){
  var $ul = $(this);
  if ($ul.children().length <= 1) {
    $ul.append('<li>no data</li>');
  }
});
...