鉴于以下 HTML,我正在尝试删除所有表单元素。我遇到的问题是select
元素没有被删除,而是option
每次调用删除代码时都会删除其中的第一个元素。见http://jsfiddle.net/b8FfT/
HTML
<fieldset>
<div id="order_history_block">
<div id="history_form" class="order-history-form">
<div>Add Order Comments</div>
<span class="field-row">
<label class="normal" for="history_status">Status</label><br>
<select name="history[status]" class="select" id="history_status">
<option value="processing">Ok to Ship</option>
<option value="pending" selected="selected">Pending</option>
</select>
</span>
<span class="field-row">
<label class="normal" for="history_comment">Comment</label>
<textarea name="history[comment]" rows="3" cols="5" style="height:6em; width:99%;" id="history_comment"></textarea>
</span>
<div class="f-left">
<input name="history[is_visible_on_front]" type="checkbox" id="history_visible" value="1"><label class="normal" for="history_visible"> Visible on Frontend</label>
</div>
<div class="f-right">
<button id="id_79ae3bd75916862b0245fbcb3343d24e" title="Submit Comment" type="button" class="scalable save" onclick="doStuff()" style=""><span><span><span>Submit Comment</span></span></span></button>
</div>
<div class="clear"></div>
</div>
<div class="divider"></div>
<!-- ... -->
</div>
</fieldset>
JS
var a = $('order_history_block').parentNode;
$(a).select('input', 'select', 'textarea').invoke('remove');