JQuery

jquery clone Клонировать data атрибуты, но не дата-хранилище

Судя по всему обычный clone() как клонирует дата атрибуты, а вот clone(true) -- уже и хранилище.

jquery Получить следующий после даного элемент, лежажий в другом родителе (не обязательно sibling)

Как получить следующий элемент вне зависимости от вложенности? Просто следующий в смысле "просмотра HTML".
Т.е. в общем случае невялющийся братом/сестрой данного блока (не sibling)

Похоже ничего подобного нет, интересно было бы подумать над реализацией.

Пример проблемы

Предположим. что есть часть формы:

Атрибуты элементов и CSS -- JQuery для начинающих

Третья глава онлайн-учебника "JQuery для начинающих". Оглавление здесь.

Атрибуты элементов и CSS

Рассмотрим методы для работы с атрибутами DOM-элементов. Это простейшие методы, которые могут изменить цвет, размер, местоположение элемента, а также его класс, адрес ссылки, имя и любые другие свойства.

[!] JQuery Онлайн-учебник для начинающих с нуля. Примеры и приёмы работы

Сюда мы постепенно будем добавлять главы учебника, основанного (как миниумум в первой редакции) на знаменитой работе Антона Шевчука [1]. Но мы постараемся сделать его куда более понятным)

  1. Атрибуты элементов и CSS

Источники

При составлении глав выше мы опирались на работы:

jquery simplebox и модальные окна

Надо будет изучить вот этот интересный плагин: https://github.com/libhide/simplebox.js

Также есть плагин с таким же названием от jetcoders

jquery Проверить что событие (напр. клик) произошло именно на данном элементе, а не на потомке. Сравнение event.target с $(this)

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

if ($(this).is(event.target))
{
...}

Например:

 $('селектор').on('click',function(event) {
	if ($(this).is(event.target))
	{
		console.log('click on current ', event.target);

	} else {
		console.log('click at other');
	}
 });

jquery Подстрока в значениях атрибутов

Получить элементы, в значения атрибутов которых содержится подстрока.

Используйте код вида:

$( "input[name*='man']" ).val( "has man in it!" );

для поиска элементов, с атрибутом name, в значении которого есть подстрока man

Источники

https://api.jquery.com/attribute-contain...

jquery Плагин для работы со сложными формами (вложенными полями, группами полей и массивами)

Скоро будет тут)

Копирование без скрытого шаблона

Замену в name придётся делать, используя data-атрибут. data-name-template,
в котором и будет шаблон

DCFP

jquery Копируем элемент с data-атрибутами, но без событий

Можно в виде плагина:

$.fn.cloneWithDataOnly = function() {   
	var $this = $(this);
	return $this.clone(true).off();
}

-- но отвязать событияот потомков придётся самостоятельно.

Pages

Subscribe to RSS - JQuery