Описание:
Удаляет все дочерние блоки из каждого элемента в наборе совпавших элементов.
Обратите внимание, начиная с версии 1.2.2 эта функция также удаляет все обработчики событий и внутренние закешированные данные.
.empty()
Добавлена в версию: 1.0
Этот метод удаляет не только ребенка (и других потомков) элементов, но и любой текст в наборе соответствующих элементов. Это потому, что в соответствии со спецификацией DOM, любая строка текста в пределах элемента считается дочерним узлом этого элемента. Рассмотрим следующий HTML:
<div class="container"> <div class="hello">Hello</div> <div class="goodbye">Goodbye</div> </div>
Мы можем выбрать любой элемент для удаления:
$('.hello').empty();
Это приведет к тому, что в структуре DOM, текст с
Hello будет удален:
<div class="container"> <div class="hello"></div> <div class="goodbye">Goodbye</div> </div>
Если бы мы имели любое количество вложенных элементов внутри <div class="hello">, они были бы тоже удалены.
Для того чтобы избежать утечку памяти, jQuery удаляет другие конструкции, такие как данные и обработчики событий от элемента "ребенка" перед удалением элементов.
Примеры
Удаляет содержимое всех параграфов на странице.Полный код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function(){
$("button").click(function () {
$("p").empty();
});
});
</script>
<style>
p { background:yellow; }
</style>
</head>
<body>
<p>
Hello, <span>Person</span> <a href="javascript:;">and person</a>
</p>
<button>Call empty() on above paragraph</button>
</body>
</html>
Была ли эта информация полезной?

