Я кодирую плагин jquery, и мне нужны некоторые кнопки, чтобы иметь двойное состояние (например, редактировать / сохранять)
Я получаю эту информацию через JSON и вставляю ее в кнопку как:
node
- current //['primary'/'secondary']
- primary // some info
- secondary // some info
Как только я нажимаю кнопку, я попадаю сюда, чтобы изменить действие. Поэтому я хочу заменить всю ссылку через шаблон и информацию, которую я получаю из button.data.
Поскольку я хочу заменить не только innerHtml, но и внешний, я должен использовать ' replaceWith '. Затем я копирую ' data ' на новую кнопку и (в идеале) удаляю старую.
changeButtonAction : function(button, selector){
var node = button.data('node'),
info;
if(node.current == 'primary'){
info = node.secondary;
node.current = 'secondary';
}else{
info = node.primary;
node.current = 'primary';
}
button.replaceWith(multiReplace(OPERATION_ITEM, info, true));
button.data('node', $.extend( true, {}, node));
... //bit of interaction
}
Дело в том: После того, как функция Я теряю новые данные , как говорится, что undefined .
Может ли кто-нибудь помочь? Использование replaceWith не является обязательным, поэтому, если вы найдете другое решение, все будет в порядке.