使用jquery追加或删除带有子输入元素的元素会改变它们吗?

时间:2017-07-05 00:43:27

标签: javascript jquery html input

使用jquery 1.9.1;也许以后的版本不同?
但问题似乎是输入元素恢复到原始值,即使用户已经更改了它们。如果我使用innerHTML在直接的javascript中执行相同的操作,我会遇到同样的问题。问题似乎是html显示defaultValue(对于type = text)或defaultChecked(对于type = checkbox),并且最终将实例化为值或在已修改的子元素中检查。这似乎是一个bug;无论如何,它违反了最不惊讶的原则。

1 个答案:

答案 0 :(得分:1)

我的解决方法是执行:

$(element).find('input[type=text]').each(function(i, o) {
  o.defaultValue = o.value;
})

$(element).find('input[type=checkbox]').each(function(i, o) {
  o.defaultChecked = o.checked;
})

在执行$(element).append$(element).remove

之前