я использую appendTo переместить несколько элементов вокруг в DOM:JQuery appendTo оставляет пустое пространство в предыдущем родительском контейнере
jQuery('.footer-pre-home.box.s5,.footer-two.box.s5').appendTo('.footer .copyright');
Это прекрасно работает. Однако, когда они удаляются, они оставляют один символ пробела в своем предыдущем родительском узле «pre-footer». Это мешает мне использовать класс css: empty psuedo для элемента pre-footer.
Любой способ исправить это в appendTo?
Оригинальный HTML ниже:
<div class="pre-footer">
<div class="footer-two box s5">
<div class="textwidget">
<ul class="social flat">
<li class="twitter"><a href="http://twitter.com"></a></li>
<li class="facebook"><a href="http://facebook.com"></a></li>
<li class="google"><a href="http://plus.google.com"></a></li>
<li class="youtube"><a href="http://youtube.com"></a></li>
<li class="linkedin"><a href="http://linkedin.com"></a></li>
<li class="rssfeed"><a href="feed/"></a></li>
</ul>
</div>
</div>
</div>
После appendTo, вычисленная предварительно колонтитула HTML выглядит следующим образом:
<div class="pre-footer">
</div>
Я не могу удалить узел, потому что могут быть элементами внутри него, которые не являются объектами appendTo. Однако в этом случае нет.
I 'm запускает это в консоли и его возвращение не определено. Я использую css для проверки: .footer .pre-footer: empty {display: none! Important} –
@ScottB Ну, хотя вы используете селектор jQuery ': empty', он не удаляет пробелы, он фильтрует элементы, которые имеют только пробелы или не имеют содержимого. попробуйте '$ (". pre-footer "). filter (function() { return! $. trim (this.innerHTML) .length; }). hide();' – undefined
+1 Да, ваш ответ работает с пересмотренный код и использование jQuery пустым vs CSS пустым. Благодаря! Я думал, что вы использовали jQuery trim для удаления пустых пронумерованных узлов для CSS: пустой для работы. –