>我正在尝试从页面中完全删除一个元素(我动态添加的),但它似乎不太正常工作。问题是,在我从页面中删除元素后,它仍然出现在document.forms
中 - 这给我带来了一个问题,因为页面稍后在处理其他一些数据时会自动抓取它。 我无法更改下游操作,但我想知道是否有更好的方法来删除输入。有关示例,请参阅此jsFiddle。
Chrome 18 和 FF 13 都工作相同(损坏),而 IE 9 工作正常,但我需要它在所有浏览器中工作 - 在怪癖模式下。
我会使用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等效的接受答案,您的问题可能与在input
元素上使用name
属性有关。
在您的示例中,您缺少 jQuery 选择器中的所有#
标签。当您通过元素的 id 选择元素时,您必须始终在名称前包含一个#
,对于类,请包含这样的.
- $('#wrapper')
。
我在这里修复了你的例子 - 通过执行以下操作> jsFiddle
$('#wrapper #testField').remove();
希望这有帮助