0

我正在尝试从页面中完全删除一个元素(我动态添加的),但它似乎不太正常。问题是,在我从页面中删除一个元素后,它仍然出现在document.forms- 这给我带来了一个问题,因为页面稍后在处理一些其他数据时会自动抓取它。我无法更改下游操作,但我想知道是否有更好的方法来删除输入。有关示例,请参见此 jsFiddle

Chrome 18 和 FF 13 工作相同(损坏),而 IE 9 工作正常,但我需要它在所有浏览器中工作 - 在怪癖模式下。

4

2 回答 2

3

我会使用document.getElementById而不是document.forms

http://jsfiddle.net/wTNFq/6/

var testfield = document.getElementById('testfield');

console.log('VALUE before: ' + testfield .value);

document.getElementById('wrapper').removeChild(testfield);

console.log('VALUE after: ' + document.getElementById('testfield').value);

编辑:根据w3c document.forms[0].fieldname equivalent的公认答案,您的问题可能与在元素上使用name属性有关。input

于 2012-05-11T14:49:28.270 回答
0

在您的示例中,您缺少#jQuery 选择器中的所有标签。当您通过它的 id 选择一个元素时,您必须始终#在名称之前包含 a ,并且对于类包括.这样的 - $('#wrapper')

我在这里修复了您的示例-> jsFiddle通过执行以下操作

$('#wrapper #testField').remove();

希望这可以帮助

于 2012-05-11T14:46:12.363 回答