Jquery api manipulation - маніпуляції елементами dom
ПІСЛЯ знайомства з цим розділом документації jQuery Ви зможете з легкістю маніпулювати елементами об'єктної моделі документа. Сьогодні ми навчимося вставляти, обгортати, заміщати, копіювати і видаляти елементи DOM.
.html (): string
Повертає html-вміст вибраного елемента.
Якщо таких елементів декілька, то значення буде взято у першого.
.html (string): jQuery Object
Замінює вміст усіх обраних елементів на string.
.html (jQuery Object | DOM Object): jQuery Object
Переміщує елементи сторінки всередину обраних елементів (їх колишній уміст буде при цьому видалено).
Можна задати DOM-елементом або об'єктом jQuery.
Відкрийте приклад в новому вікні і подивіться вихідний код
.html (function (index, value)): jQuery Object
Замінює вміст обраних елементів на повернене користувальницької функцією значення.
Функція викликається окремо, для кожного з обраних елементів.
Коли Ви телефонуєте їй передаються такі параметри:
index - позиція елемента в наборі,
value - поточний html-вміст. У цьому прикладі клік мишкою на пункті конвертує його HTML-код в текст.
Відкрийте приклад в новому вікні і подивіться вихідний код
У цьому прикладі ми додаємо деякий html-код в кожен елемент div.
Відкрийте приклад в новому вікні і подивіться вихідний код
.text (): string
Повертає текст міститься в обраному елементі.
.text (string): jQuery Object
Замінює весь вміст у вибраних елементів, на текст string.
.text (function (index, value)): jQuery Object
Замінює весь вміст у вибраних елементів на повернутий користувальницької функцією текст.
Якщо ви спробуєте за допомогою методу text () помістити в елемент інші елементи за допомогою html-тексту, то jQuery буде екранувати всі теги.
.append (content)
Додає контент всередину всіх обраних елементів ПІСЛЯ існуючого контенту. Ця операція подібна застосування appendChild.
У цьому прикладі ми додаємо якийсь HTML-код в кінець всіх параграфів.
Відкрийте приклад в новому вікні і подивіться вихідний код
.appendTo (content)
Додає всі вибрані елементи в інший набір елементів ПІСЛЯ існуючого контенту.
Ця операція протилежна використання виразу $ (A) .append (B). яке додає B в A.
Тут же A буде додано в B.
Просто порівняйте з прикладом append ().
Відкрийте приклад в новому вікні і подивіться вихідний код
.prepend (content)
Додає контент всередину всіх обраних елементів ДО існуючого контенту.
Це найкраще рішення, щоб вставляти елементи в самий початок.
У цьому прикладі ми додаємо якийсь HTML-код в початок всіх параграфів.
Відкрийте приклад в новому вікні і подивіться вихідний код
.prependTo (content)
Додає всі вибрані елементи в інший набір елементів ДО існуючого контенту.
Ця операція протилежна використання виразу $ (A) .prepend (B). яке додає B в A. Тут же A буде додано в B.
Просто порівняйте з прикладом prepend ().
Відкрийте приклад в новому вікні і подивіться вихідний код
.after (content)
Вставляє контентПОСЛЕ кожного обраного елемента.
У прикладі вставляємо деякий HTML-код ПІСЛЯ всіх параграфів.
Відкрийте приклад в новому вікні і подивіться вихідний код
.insertAfter (content)
Вставляє всі вибрані елементиПОСЛЕ інших, визначених у insertAfter.
Ця операція протилежна використання виразу $ (A) .after (B). де B вставляється після A.
Тут же А вставляється після В.
Просто порівняйте з прикладом after ().
Відкрийте приклад в новому вікні і подивіться вихідний код
.before (content)
Вставляє контентПЕРЕД кожним обраним елементом.
У прикладі вставляємо деякий HTML-код ПЕРЕД усіма параграфами.
Відкрийте приклад в новому вікні і подивіться вихідний код
.insertBefore (content)
Вставляє всі вибрані елементиПЕРЕД іншими, визначеними в insertBefore.
Ця операція протилежна використання виразу $ (A) .before (B). де B вставляється після A.
Тут же А вставляється після В.
Просто порівняйте з прикладом before ().
У цьому прикладі ми вставляємо всі параграфи ПЕРЕД елементом, який має атрибут id "foo". Теж саме можна було б зробити, написавши: $ ( "# foo"). Before ( "p")
Відкрийте приклад в новому вікні і подивіться вихідний код
.wrap (html | DOM element | jQuery element)
Обертає кожен елемент набору в елемент-обгортку.
Це може бути корисно при ін'єкції додаткової структури в документ, без порушення оригінального семантичного якості документа.
У цьому прикладі обертаємо новий елемент div навколо кожного параграфа. Як аргумент виступає HTML-код.
Відкрийте приклад в новому вікні і подивіться вихідний код
Відкрийте приклад в новому вікні і подивіться вихідний код
Відкрийте приклад в новому вікні і подивіться вихідний код
.wrapAll (html | DOM element | jQuery element)
Обертає всі елементи набору в єдиний елемент-обгортку.
Це може бути корисно при ін'єкції додаткової структури в документ, без порушення оригінального семантичного якості документа.
У цьому прикладі обертаємо новий елемент div навколо всіх параграфів. Як аргумент виступає HTML-код.
Відкрийте приклад в новому вікні і подивіться вихідний код
.wrapInner (html | DOM element | jQuery element)
Обгортає внутрішній вміст кожного елемента набору (включаючи текстові вузли) в HTML структуру.
Це може бути корисно при ін'єкції додаткової структури в документ, без порушення оригінального семантичного якості документа.
У цьому прикладі ми обираємо все параграфи й обертаються в тег b їх внутрішній вміст. Як аргумент виступає HTML-код.
Відкрийте приклад в новому вікні і подивіться вихідний код
.replaceWith (content)
Заміщає всі елементи набору HTML або DOM елементами.
У цьому прикладі при натисканні на кнопці вона заміщується елементом div з таким же текстом, який був на кнопці.
Відкрийте приклад в новому вікні і подивіться вихідний код
.replaceAll (selector)
Заміщає всі елементи, певні в селекторі, зазначеним (и) елементами.
Ця функція доповнює replaceWith (). яка вирішує ту ж задачу, тільки навпаки.
У цьому прикладі ми заміняємо все параграфи текстом, укладеними в теги b.
Відкрийте приклад в новому вікні і подивіться вихідний код
Видаляє всі вузли-нащадки (включаючи текстові вузли) з набору елементів.
Також видаляє всі обробники подій і внутрішні кешированниє дані.
У цьому прикладі при натисканні на кнопці видаляємо всі вузли-нащадки з усіх параграфів.
Відкрийте приклад в новому вікні і подивіться вихідний код
.remove (expr)
Видаляє всі вибрані елементи з DOM.
Однак при цьому вони не будуть видалені з об'єкта jQuery, що дозволяє використовувати їх в майбутньому.
Опціонально може бути використано фільтруюче вираз expr.
У цьому прикладі при натисканні на кнопці ми видаляємо всі параграфи з DOM.
Відкрийте приклад в новому вікні і подивіться вихідний код
Видаляє батьківські елементи у вибраних елементів, при цьому, їх вміст залишиться на своїх місцях. Розглянемо сторінку, яка містить наступний текст: після застосування функції сторінка стане такою:
.clone ([withDataAndEvents]): jQuery object
withDataAndEvents - визначає, чи потрібно копіювати дані і обробники подій, встановлені на копіюються елементах. За замовчуванням, цей параметр дорівнює false.
У цьому прикладі ми клонуємо всі елементи b (і вибираємо клоновані) і вставляємо їх перед параграфами.
Відкрийте приклад в новому вікні і подивіться вихідний код
У цьому прикладі ми створюємо кнопку, яка може клонувати сама себе і мати клонів, також здатних себе ж клонувати. Гм, спробуйте краще натискати цю кнопку.
Відкрийте приклад в новому вікні і подивіться вихідний код
.add (selector)
Додає задані елементи в уже існуючий набір елементів.
Додаються елементи шукаються на сторінці за допомогою заданого селектора selector.
.add (elements)
Додаються елементи задаються одним або декількома (масивом) DOM-елементами.
.add (html)
Додаються елементи задаються html-текстом.
add (selector, context)
Додаються елементи шукаються на сторінці за допомогою заданого селектора selector, всередині області, заданої параметром context.
Область пошуку може бути задана DOM-елементом, jQuery-об'єктом або об'єктом документа.
.contents ()
Повертає всі дочірні елементи вибраних елементів, а так же текстовий вміст.
На відміну від схожого методу .children (). в цьому методі, в результат будуть включені блоки тексту, що лежать безпосередньо всередині обраних елементів.
Наприклад, для сторінки, що містить наступний html-текст ці два методи повернуть різний результат:
Повертає попередній набір елементів в поточній ланцюжку методів.
Приклад: А ось як це може бути використано: