清除容器

时间:2015-11-29 13:10:18

标签: javascript jquery

我尝试使用以下代码清除容器div中所有输入和textareas的值,但它不起作用:

var t = $('#container').clone();
t.find('input[type="text"],textarea').val('');
alert(t.html()); //the inputs in the alert have value

这两点都不起作用:

t.find('input[type="text"],textarea').each(function () { $(this).val(''); });

我们的想法是使用空输入元素克隆容器。

2 个答案:

答案 0 :(得分:3)

您在警报中看到的value属性是input的默认值。使用val时不会清除它,因此您会在HTML中看到它并发出警报。

如果您要将HTML本身写入文档,您会看到值被清除:like here

如果您也想清除默认值,可以使用jQuery attr方法

.attr("value", "")

要清楚这一点。 Like here

同样适用于textarea

PS,来自docs

  

注意:使用.clone()具有生成具有重复id属性的元素的副作用,这些属性应该是唯一的。在可能的情况下,建议避免使用此属性克隆元素或使用类属性作为标识符。

答案 1 :(得分:0)

你可以在下面试试。

var clone = $('#container').clone().attr('id',    'newid');
clone.find('[type=text]').val('').attr("value","").text("");
clone.find('textarea').val('').text("");
alert(clone.html());