Как удалить параметр из data?
$element.data('option',{'opt1':1,'del1':'1'})
Как удалить параметр del1 (полностью, вместе с ключом) из $element.data()? Можно это сделать без промежуточных сохранений и т.п.? |
Это ж элементарно:
delete $element.data( "option" ).del1; |
Черт, не до конца уточнил. А можно удаление встроить в цепочку? Нужно удалить параметр из даты в середине цепочки манимуляций
|
Метода для того чтобы простым способ это сделать, вроде как не предусмотрено.
Но можно подхачить например так: $element.each(function() { delete $(this).data( "option" ).del1; }); |
Ага, тоже думаю в сторону each.
И еще проблема возникла... Делаю так: var $element = $($.fn.item.default.template).clone().data('option s', $.fn.item.default) delete $element.data('options').template Т.е. беру из дефолтных настроек параметры, в том числе тот, который описывает html объекта (template), затем клонирую их в объект, а параметр template удаляю, т.к. элемент уже содержит его в себе. Проблема в том, что параметр удаляется из $.fn.item.default, а не из клона. Можно это как-то обойти без громоздких конструкций? |
Весь небольшой код http://jsfiddle.net/tamtakoe/46ZtB/
проблемная строчка в методе additem закомментирована |
Это странно и не логично. Почему в одном объекте хранится 2 вида данных, чтобы затем их разделять? Почему бы не вынести шаблон элементов:
var $item = $($.fn.newline.template).clone().data('itemOptions', $.fn.newline.defaults) Кстати, зачем clone()? |
Это от того, что слизал плагин с Бутстрапа http://twitter.github.com/bootstrap/....html#tooltips Там у них всплывающие подсказки подобным образом реализованы и шаблон хранится вместе с параметрами. Рассчитывал, что сакральный смысл такого подхода дойдет до меня когда поумнею... Видимо, еще не поумнел)
А clone() действительно нигде не нужно. И так уникальный объект создается. Спасибо за замечание! |
Ну и еще думал, что можно было бы посылать с сервера уникальные шаблоны для определенных элементов, но едва ли это потребуется, так что да, пожалуй лучше вынести шаблон
|
Часовой пояс GMT +3, время: 20:58. |