jQuery упрощает удаление узлов из DOM. Но как вы удаляете что-то из объекта jQuery?Удалить элемент из объекта jQuery
ответ
Если вы говорите об удалении узлов из объекта jQuery, используйте функции filter
или not
. See here for more.
Как использовать filter
:
var ps = $('p');
//Removes all elements from the set of matched elements that do
//not match the specified function.
ps = ps.filter(function() {
//return true to keep it, false to discard it
//the logic is up to you.
});
или
var ps = $('p');
//Removes all elements from the set of matched elements that
//do not match the specified expression(s).
ps = ps.filter('.selector');
Как использовать not
:
var ps = $('p');
//Removes elements matching the specified expression
//from the set of matched elements.
ps = ps.not('.selector');
@ geowa4 - спасибо за ответ. Знаете ли вы, что фильтр удаляет узел из объекта глобально или просто локален для его функции? –
Одна вещь, которая меня сбила с толку - это ничего не удалит из кэшированного селектора, если вы не переназначаете. Поэтому вам нужен ps = ps.filter (function() {// stuff}); – SimplGy
<ul>
<li class="1" />
<li class="2" />
<li class="3" />
<li class="4" />
<li class="5" />
</ul>
Фильтр итерацию по коллекции объектов JQuery. Для каждого из элементов: возвращайте true
внутри filter()
, чтобы сохранить текущий элемент в коллекции объектов jQuery. Верните false
, чтобы удалить текущий объект из коллекции объектов jQuery.
$("li").filter(function()
{
if (this.className == "1" || this.className == "2") return true;
return false;
});
В этом случае; анонимная функция, выполняемая filter()
, вернет true для элемента списка, который имеет класс и/или , в свою очередь удаляя последние три списка из коллекции объектов jQuery.
Практический пример:
<ul>
<li class="1" />
<li class="2" />
<li class="3" />
<li class="4" />
<li class="5" />
</ul>
Этот фрагмент кода добавляет класс ("синий") в неупорядоченном списке. Затем выделяются первые два списка. Затем присоединяет щелчок-обработчик первых два элементы списка:
$(function()
{
$("ul").addClass("blue").find("li").filter(function()
{
if (this.className == "1" || this.className == "2") return true;
return false;
}).addClass("highlight").click(function()
{
alert("I am highlighted!");
});
});
fyi, который будет возвращать false каждый раз. вы перебираете 'ul', а не 'li', которые имеют классные имена. – geowa4
Brain-fart :) Спасибо за хедз-ап. – roosteronacid
Как уже отмечалось, $.filter()
отличный вариант для фильтрации данных. Также обратите внимание, что the jQuery object can be handled like an array, и поэтому вы можете использовать методы массива, такие как splice()
.
var people = $(".people");
people.splice(2,1); // Remove 1 item starting from index 2
@ geowa4: Прочтите http://www.learningjquery.com/2008/12/peeling-away-the-jquery-wrapper – Sampson
@ Джонатан: вы его прочитали? bc он не говорит, что это массив. вы можете получить один, конечно, и jQuery может вести себя как массив в некотором роде. но это еще не массив - важное различие. на самом деле, некоторые функции массива работают над объектом jQuery, как отмечено в моем первом комментарии. – geowa4
@ geowa4: Да, я прочитал. Я знаю, что это не массив (технически), поэтому я извиняюсь за свои плохие формулировки.Я хотел сказать, что вы можете рассматривать его как массив, как указывал мой пример. – Sampson
- 1. Удалить элемент из объекта jquery
- 2. Удалить элемент из объекта JQuery
- 3. Как удалить элемент из объекта jQuery?
- 4. Как удалить элемент из объекта JQuery
- 5. удалить элемент из объекта Hierarichal в JQuery
- 6. Удалить элемент из JQuery
- 7. Удалить элемент из JSON объекта
- 8. Удалить элемент из JSon объекта
- 9. удалить элемент из объекта JSon
- 10. jQuery удалить элемент из стека
- 11. jQuery удалить элемент из Array
- 12. Удалить элемент из выбора JQuery
- 13. Удалить элемент из выбора JQuery
- 14. Удалить элемент из объекта jquery, еще не зарегистрированного в DOM
- 15. Как удалить элемент из объекта массива в jquery
- 16. Удалить функцию из объекта jquery
- 17. JQuery .data() удалить элемент из массива хранится
- 18. удалить конкретный элемент из объекта json
- 19. удалить выбранный элемент из текстового объекта
- 20. XML: Как удалить элемент из объекта IEnumerable?
- 21. Удалить элемент в массиве из объекта?
- 22. Как удалить ключ из свойства объекта элемент
- 23. Как удалить элемент из объекта JavaScript
- 24. Как удалить элементы из объекта jquery
- 25. удалить элементы из объекта jQuery изнутри плагина
- 26. удалить следующий элемент - jquery
- 27. Удалить элемент из HashSet
- 28. Удалить элемент из массива?
- 29. Как получить элемент html из объекта jquery
- 30. Как выбрать элемент из объекта jQuery?
Что вы пытаетесь удалить? – acrosman
@acrosman - Ничего особенного. Я просто хочу узнать больше о том, как jQuery делает свою магию. На сайте jQuery есть хорошая документация относительно API, но (кроме как через источник) я не видел много документации о внутренней работе объекта jQuery. –