$('a[href]').on('click', function (e) {
e.preventDefault();
// Дальше мутим
});
$('.select-city').off('click');
$(document).on('click', 'a[href]:not(.select-city)', function (e) {
e.preventDefault();
// Дальше мутим
});
$(function () {
var images = $('.gal-img'),
active = images.eq(0);
// Some other actions
$(document)
.on('click', '.next', function(){
var next = active.next('.gal-img');
if (next.is(':last-child')) {
// stop
} else {
active = next;
// actions
}
}).on('click', '.prev', function(){
var prev = active.prev('.gal-img');
if (prev.is(':first-child')) {
// stop
} else {
active = prev;
// actions
}
});
});
$(function () {
var images = $('.gal-img'),
index = 0;
// Some other actions
$(document)
.on('click', '.next', function (e) {
if (index == images.length - 1) {
// stop
} else {
index++;
var elem = images.eq(index);
// actions
}
}).on('click', '.prev', function (e) {
if (index == 0) {
// stop
} else {
index--;
var elem = images.eq(index);
// actions
}
});
});
$('.js-to-cart').each(function(i, elem) {
console.log($(elem).attr('data-item'));
});
$('.js-to-cart').each(function() {
console.log($(this).attr('data-item'));
});
$('.js-to-cart').each(function(i, elem) {
console.log(elem.dataset.item);
console.log($(elem).attr('data-item'));
console.log($(elem).data('item'));
console.log(this.dataset.item);
console.log($(this).attr('data-item'));
console.log($(this).data('item'));
});
<button type="button" onclick="multiple()">*</button>
$blocks.each(function () {
//Проходим по всем элементам с классом .block
var $this = $(this),
//Понятно, создали JQ-объект и сохранили ссылку
id = $this.find('.id').html(),
// Получили содержание элемента с классом .id в этом контексте
date = $this.find('.date').html(),
// То же самое для класса .date
value = $this.find('.value').html();
// И для класса .value
// Задача — для всех одинаковых значений id объединить поля с датой
results[id] = results[id] || {};
// В свойстве с именем по значению id уже есть объект, или мы его только что создали
// Задача — для всех одинаковых дат в объекте с одинаковым id получить сумму
results[id][date] = results[id][date] || 0;
// В свойстве с именем по значению date уже есть число, или пишем в него 0
results[id][date] += parseInt(value);
// И добавили целое, полученное из value
});
// Обход элементов завершён
$.each(results, function (id, dates) {
// Обходим объект results, в каждой итерации получаем название свойства и его значение
$.each(dates, function (date, value) {
// А тут получаем название свойства, сформированное из даты, и его значение
// В замыкании есть всё, что нужно — id, date, value
});
});
<form action="">
<button type="button">Выбрать</button>
<input name="f" type="file" multiple></input>
<input name="t" type="text"></input>
</form>
[type="file"] {
display: none;
}
$(document)
.on('click', '[type="button"]', function (e) {
this.form.f.click();
}).on('change', '[type="file"]', function (e) {
if (this.files) {
for (var i = 0, value = []; i < this.files.length; i++) {
value.push(this.files[i].name);
}
value.join();
} else {
var value = this.value.replace(/^.+[\\\/]/, '');
}
this.form.t.value = value;
});
this.Up = function () {
...
}.bind(this);
this.Down = function () {
...
}.bind(this);
this.Render = function () {
$(document)
.on('click', '#counter-minus', this.Down.bind(this))
.on('click', '#counter-plus', this.Up.bind(this));
}
function Counter(start){
var xxx = this;
//А тут везде внутри функций вместо this фтыкаем xxx
}