удалить пустой div в jquery, если нет класса или идентификатора - PullRequest
0 голосов
/ 03 марта 2011

Привет, у меня есть пустой div в моем коде, хорошо magento, и я хочу удалить его с помощью jquery и пробовал:

$('.col-main > div:empty').remove();
$('div:not([class])'.remove();
$('div[class!=""]').remove();

также пробовал:

$('.col-main > div[class!=""]').remove();
$('.col-main > div:not([class])'.remove();
$('.col-main > div[class!="clr"]').remove(); - im guessing here

последние два удаленывсе мои div на странице, но ни один из них не работает.Я хочу сохранить все пустые элементы div, к которым прикреплен класс или идентификатор, например, clr.

Ответы [ 3 ]

2 голосов
/ 03 марта 2011

Я думаю, что вы должны прочитать спецификацию jQuery более детально, тогда вы сможете лучше понять ее:)

:not() - исключить элемент из списка элементов, например, $ ('div: not (.hide)) ') выберет все div, которые не имеют класса .hide.

:empty - это когда html или text ничего не имеет.

в любом случае.

$('div').each(function (i,n){
    if(!$(n).attr('class') || !$(n).attr('id')){
        // neither id or class exist
    }else{
        // id or class exists
    }
})

проверьте эту ссылку для примера http://jsfiddle.net/jz3zT/

1 голос
/ 03 марта 2011

На самом деле это вопрос выбора CSS, нет необходимости указывать используемый каркас, ни начинать писать циклы, ни использовать .each.

Следующее находит пустые DIV без имени класса или идентификатора.

div:empty:not([class]):not([id])

Это так просто.

0 голосов
/ 03 марта 2011

Возможно, вам придется просмотреть их с помощью each и проверить, установлены ли .attr('class') и .attr('id').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...