2010-12-16 114 views
0

我需要隐藏所有表单的内容并将其替换(.find('*')。each(){$(this).hide}不起作用)我有问题隐藏文本节点:隐藏或删除文本节点

 <form onsubmit="javascript:... "> 
    <!--text node --> bad&nbsp; 
     <input type="radio" name="imgvote" value="1" style="display: none;"> 

回答

4

我猜你正在使用$("form").children().hide()这将不会隐藏文本节点,只有元素。相反,你想:

$("form").contents().hide(); 

但隐藏是不同的更换。要完全替代形式里面的一切,你可以这样做:

$("form").html("blah blah <input type='text'>"); 

还是先清空,然后追加要素:

$("form").empty().append("blah blah <input type='text'>"); 

另一种选择,是要确保所有的文字被包裹很好地在一个元素(大多数时候这是更正确的语义)例如,“坏”应该可能在<p><label>

+0

有没有什么可说比:) – Fatih 2010-12-16 22:32:16