Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрытие разделов див в которых нет элементов (https://javascript.ru/forum/misc/41072-skrytie-razdelov-div-v-kotorykh-net-ehlementov.html)

errante 30.08.2013 12:57

Скрытие разделов див в которых нет элементов
 
Хочу скрыть разделы div в которых не обнаружены таблицы, и что то запутался :(
Это структура:
<div class="podrazdel">
<table>....</table>
<table>....</table>
</div>
<div class="podrazdel">
<table>....</table>
</div>
<div class="podrazdel">
</div>


А это скрипт:
$(document).ready(function () {
    $("div.podrazdel").each(function () {

        var inp = this.getElementsByTagName('table'),
            l = inp.length,
            i = 0;
        while (i < l) {
		$(inp[i]).parents(".podrazdel").css('display', 'none');
			i++;
        }
    })
})()


И у меня получается с точностью до наоборот, скрываются те разделы в которых есть таблицы :(

tsigel 30.08.2013 13:04

$(document).ready(function () {
    $("div.podrazdel").each(function () {       
          if ($(this).find('table').length == 0) {
             $(this).hide()
          }
        }
    });
})()

ksa 30.08.2013 13:09

Цитата:

Сообщение от errante
у меня получается с точностью до наоборот, скрываются те разделы в которых есть таблицы

Так ведь ты идешь по таблицам и скрываешь их родителей. :)

errante 30.08.2013 13:09

tsigel, огромное спасибо!
не могу вам поставить + в системе, не дает :(

Цитата:

Сообщение от ksa (Сообщение 270045)
Так ведь ты идешь по таблицам и скрываешь их родителей. :)

Ну я же не гуру, тем более способ выше намного красивее и проще чем я напридумывал :) и без всяких переборов. Но за участие спасибо :)

Яростный Меч 30.08.2013 15:08

$('div.podrazdel:not(:has(table))').hide();


http://jsfiddle.net/K7QHC/


Часовой пояс GMT +3, время: 17:28.