Рубрики
Без рубрики

5 Полезные функции jQuery Каждый веб -программист должен знать + расширенные методы обхода DOM

JQUERY & The DOM Большинство веб -программистов знают и любят jQuery за его упрощение от javascrip … Tagged with jQuery, JavaScript, HTML, Web.

Jquery & the dom

Большинство веб -программистов знают и любят jQuery за его упрощение с JavaScript и эффективности. Манипулирование DOM с помощью jQuery может быть очень мощным с точки зрения веб -программирования и дизайна. Для начинающего JQUERY может показаться пугающим, поэтому вот 5, возможно, наиболее используемых функций JQUERY и инструментов, когда -либо должны иметь веб -дизайнер в своем наборе инструментов.

1. Найти

Метод поиска, пожалуй, наиболее полезен для прохождения DOM или нацеливания на определенный элемент, похороненную глубоко в дереве DOM. Например, скажем, у нас есть следующий код:

Title

Hello

Скажем, мы хотели бы получить доступ к элементу H2, который мы будем писать в jQuery:

$('.section').find('h2');

Теперь мы можем манипулировать этим элементом и изменить его текст и цвет как так:

$('.section').find('h2').css('color','red');
$('.section').find('h2').html('Subtitle');

Мы также можем использовать поиск по классу или идентификатору вместо тега.

$('.section').find('.title');

2. уравнение

Если вы знакомы с CSS Pseudo Selecter Nth-Child () или nth-of-type (), то подумайте о методе EQ () как о эквиваленте jQuery. Скажем, у нас есть коллекция элементов, и мы хотим получить доступ к определенному ребенку или, может быть, все они постепенно:

  • Tony
  • Bruce
  • Steve
  • Natasha

В jQuery мы можем получить доступ к второму элементу как так:

$('.myList li').eq(1).html('Banner');

*Примечание: в отличие от селектора nth-child (), первый элемент в EQ () составляет 0, а не 1.

Мы также можем действительно усилить мощность и сделать что -то классное, если хотим. Давайте заменим содержимое текста каждого элемента списка, используя метод EQ.

var array = ['Stark','Banner','Rodgers','Romanoff']; //create an array with new text contents

for(i=0;i<=array.length;i++) {
   $('.myList li').eq(i).html(array[i]); //loop over the array and overwrite the text contents with the contents in our array
}

3. Сплит

Этот очень полезен для быстрого создания элементов массива. Скажите, что у нас есть P -тег, который содержит текст, который мы хотим разделить и манипулировать так:

power,time,soul,reality,space,mind

Мы можем манипулировать этим текстовым содержимым в jQuery:

var stones = $('.stones p').html(); //assign the contents of our p tag to a variable called stones
var newarray = stones.split(','); //split the contents by commas, this creates an array: ['power', 'time', 'soul','reality','space','mind']

Теперь мы можем манипулировать этим массивом любым способом, который мы хотим, возможно, добавить каждый элемент в список:

$('.stones').html('

Here are the six infinity stones:

  • '+newarray[0]+'
  • '+newarray[1]+'
  • '+newarray[2]+'
  • '+newarray[3]+'
  • '+newarray[4]+'
  • '+newarray[5]+'
');

Аккуратный.

4. addclass/removeClass

Метод добавления/удаления класса является самоэкспланирующим. Если мы хотим добавить класс в элемент на основе какого -то события (или статически) и/или удалить другой класс, мы можем сделать это так:

Good answer!

В нашем CSS мы можем стилизовать этот элемент

.correct {color:green}

Мы также добавим стиль для класса «неверно»

.incorrect {color:red}

В нашем jQuery:

$('.correct').html('Wrong answer.').removeClass('correct').addClass('incorrect');

5. родители/родители

Этот может быть крайне полезен для обработки событий на падении среди многих других применений. Представьте, что у нас есть элемент контейнера со многими детьми элементами внутри. Используя метод родителей/родителей, мы можем получить доступ к родителям ребенка на любом уровне, который мы желаем. Вы можете думать об этом как о обратной стороне метода поиска.

Hello

С jQuery мы можем получить доступ к родителям нашего тега H1, как SO:

$('.title').parents('.container').css('border','2px solid black');

Мы также можем использовать Parentsuntil

$('.title').parentsUntil('.container').css('border','2px solid black');

Обратите внимание, как это добавляет другую границу. Разница между Parentsuntil () и родителями () – это родители () принесут нам всех родителей этого элемента (опциозное, отфильтрованное селектором в параметре), тогда как Parentsuntil () принесет нам всех родителей этого элемента, кроме элемента указан в его параметре.

Мы также можем использовать родителей () в сочетании с поиском для более мощной техники, проходящего без ограничений.

Another title

This is some text

Hello

Hi there

...//some other divs with h1 tags...

Скажем, мы хотели бы динамически манипулировать тегом H1 содержимым «привет» с нашей точки зрения P), например, Нажатие на тег P должен запустить какое -то событие в тег H1. Это кажется довольно сложным, особенно если у нас есть несколько DOV с тегами H1, которые также имеют одинаковый класс «раздел» и «контейнер», а также, поскольку у нашего тега H1 нет класса или идентификатора. Но с использованием родителей () и найти () мы можем достичь этого довольно легко.

//after a click on our p tag with class "text"...
$('.text').parents('.container').find('.section').find('.inner h1'); //from our "text" element we go all the way up its parents and stop at "container" then from there we run a search for a "section" element and then again for a "inner" and then our h1
//we can then make some changes to it
$('.text').parents('.container').find('.section').find('.inner h1').html('Hello World');

Бонус: добавление/приготовление метода

Метод Append (и Prevend), пожалуй, самый используемый метод в веб -программировании. Append помогает нам добавить элементы и текст в DOM Динамически, где бы мы ни хотели. В отличие от метода html (), который записывает элементы и текст в DOM, эффективно перезаписывая его содержимое новым контентом, добавление/подготовка добавляет к элементу, не перезаписывая то, что было ранее внутри него.

Простой пример может помочь нам продемонстрировать его использование:

How are you today

Чтобы добавить текст после привет, мы можем написать в нашем jQuery:

$('p').append(', John?');

Это даст “как ты сегодня, Джон?”

Мы также можем использовать Prevend Так:

$('p').prepend('Welcome John, ');

Это даст “добро пожаловать, Джон, как дела сегодня”

или оба вместе:

$('p').append(', John?');
$('p').prepend('Welcome John, ');

Это даст: «Добро пожаловать, Джон, как дела сегодня, Джон?»

Хорошая вещь в этом заключается в том, что порядок, в котором мы пишем эти строки кода, не имеет значения, любой заказ даст тот же результат.

Мы также можем добавить html -элементы с добавлением/приготовлением, а не только текстом:

$('p').append($('')); //this will add a button after the text 

Вывод

JQuery – это мощная и эффективная библиотека (язык программирования), и эти общие функции помогают нам пройти и манипулировать DOM без ограничений.

Дайте мне знать, что вы думаете об этих функциях jQuery, и если вы используете их так часто, как я думаю, или если вы думаете, что есть функции более полезны, чем те, которые я упоминаю. Я хотел бы услышать от вас.

Как всегда, спасибо за чтение, и я увижу вас в следующем посте!

Уриэль Биттон Веб -сайт: www.scorpionedge.com Портфолио: urielbitton.design Эл. адрес: urielas@hotmail.com

Оригинал: “https://dev.to/urielbitton/5-useful-jquery-functions-every-web-programmer-should-know-advanced-dom-traversal-techniques-1g6”