在阅读http://api.jquery.com/remove/的删除功能的文档后,发现以下代码可行。jQuery.remove()未按预期工作(?)
如果我有一个这样的输入元素:
<input id="hiddenRatings" name="languageRatings" type="hidden" value="{5, 3, 2, , , {5, 3, 4, , , {5, 3, 2}}}"/>
我想我应该能够删除它只是做
$().ready(function() {
$('#hiddenRatings').remove();
});
但什么也没有发生,我输入元素仍然存在。我究竟做错了什么?
编辑:废话......它的确行得通!我使用的是Chrome工具,而且我在“脚本”选项卡而不是“元素”选项卡中查看了DOM。该脚本选项卡当DOM变化明显doesn't更新...
似乎为我工作:http://jsfiddle.net/9EsSg/,这是奇怪的是诚实的。 '$()'应该返回一个空集。更多信息可以在['jQuery()'文档](http://api.jquery.com/jQuery/)中找到。只需将回调函数传递给'$()',那可能会有效。 – 2012-01-18 15:10:44
关于我的第一条评论,毕竟它并不陌生。 'ready'总是将回调添加到'readyList',而不管选择了哪些元素。 [见源代码](https://github.com/jquery/jquery/blob/1.7.1/src/core.js#L253)。尽管使用'$(document).ready(...)'或'$(...)'仍然是比较常见的。 – 2012-01-18 15:19:44
真正奇怪的是jQuery需要一个实例化的对象来首先添加'DOMContentLoaded'回调 – Esailija 2012-01-18 15:23:37