我有一个表单,其中有几个输入字段遍布整个标记。
我想要做的是删除除了输入之外的所有内容。
所以这个:
<form>
<table><tr><td>more info here<input type="submit" name="registerForEvent" id="registerForEvent" value="Register Online" class="Button" /></td></tr>
<tr><td>table goes here blah blah....
<table><tr><td></td><td> test text here:<input type="hidden" name="test"></td></tr></table>
</td></tr>
</table>
</form>
变成这个
<form>
<input type="submit" name="registerForEvent" id="registerForEvent" value="Register Online" class="Button" />
<input type="hidden" name="test">
</form>
我试过
$('form:not(input)').remove();
无济于事
答案 0 :(得分:2)
输入是表格中孩子的孩子,所以删除第一个孩子将删除输入,因为他们自己是这些孩子的孩子等?
尝试将所有输入移动到表单根级别,然后删除除输入之外的所有内容:
$('input', 'form').appendTo('form');
$('*','form').not('input').remove();
答案 1 :(得分:2)
您可以将所有输入存储在变量中,然后删除表单中的所有内容。之后你可以放回输入:
var inputs = $("form input");
$("form").empty().append(inputs);
答案 2 :(得分:2)
$('form').html($('form input'));
答案 3 :(得分:0)
$('form:not(input)').remove();
将删除子input
元素。你可以尝试:
var input = $('form input');
$('form').empty().append(input);