Цитата:
Но если к примеру в цикле, используя jq метод, или в обработчике событий, когда в методе доступен DOM элемент как this, который имеет свойство value, получать этот элемент как jq объект ради получения его значения - $(this).val(), это и глупо, и не оправдано, ибо это получить проще как this.value. |
Цитата:
|
Цитата:
|
Цитата:
Допустим есть поле ввода и нужно что-то сделать на странице при вводе некоторого значения в него. При этом все эти операции не касаются самого поля. $('input').on('input', function() { if(this.value=='x') { //что-то делаем используя методы JQ } }) Здесь ради проверки условия поступать как if($(this).val()=='x') просто расточительство не имеющее ни пользы ни практичности. А если при этом значении поле должно переливаться цветами аки хамелеон и мы будем "хамелеонить" на JQ, то нам потребуется поле как jq объект, вот тут все оправдано: $('input').on('input', function() { $this = $(this); //input как объект jq if($this.val()=='x') { //все ОК //хамелеоним с $this } else { //иначе $this сидит и не отсвечивает } }) |
Цитата:
Цитата:
|
drakulawz,
Метод html вызывает функцию столько раз, сколько элементов находится в обьекте num. Внутренний параметр i работает в качестве счетчика элементов. Слова в html не имеют никакого значения - если бы там были Яблоко , Слон и т.п., то элементы пронумеровались бы точно так же |
Цитата:
Первое: Даны N абзацев и кнопка. По нажатию на кнопку запишите в конец каждого абзаца его порядковый номер. Второе: Даны N абзацев с числами. По нажатию на кнопку выведите эти числа в инпут через запятую в порядке возрастания. Выходит, что этот метод не подходит к второму заданию? Он ведь считает сами параграфы, а не то что в них? |
drakulawz,
цикл each и для первого и для второго |
drakulawz,
любой цикл html или each или text можно использовать |
Второе задание без явного цикла
<div class="p">5</div> <div class="p">3</div> <div class="p">1</div> <div class="p">4</div> <button class="btn">Sum</button> <input type="text"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> var num = $('.p'), btn = $('.btn'), inp = $('input'); btn.on({ 'click': sum }); function sum() { var arr = []; num.html(function(){ arr.push(+this.innerHTML)}); inp.val(arr.sort(srt)); } function srt(a, b) { if (a > b) { return 1; } if (a < b) { return -1; } if (a == b) { return 0; } } </script> |
Часовой пояс GMT +3, время: 00:22. |