2011-08-29 37 views
0

删除一个div我有它的HTML看起来像一个形式:jQuery的 - 从形式

<div id="form_container"> 
     <h1><a>Untitled Form</a></h1> 
     <form action="save_form" method="post" id="newform" name="newform"> 
      <div class="form_description"> 
      <h2 class="editable">Form title. Click here to edit</h2> 
      <p class="editable">This is your form description. Click here to edit.</p> 
      </div> 
      <ul id="form_body"> 
      <li id="field1" class="world"> 
       <a href="#" onclick="return false;" class="hover"> 
       <label class="editable" for="field1">Text1</label> 
       <input type="text" name="field1" value=""></a> 
       <div class="element_actions"> 
        <img src="/images/ico_delete_16.png" alt="Delete." title="Delete" class="remove_element"> 
       </div> 
      </li> 
      </ul> 
     </form> 
     </div> 

我想克隆形式,并从中取出“element_actions” DIV。我不想修改现有的表单,只是它的克隆版本。

我试过'remove()'和'detach'没有成功。

下面是对的jsfiddle测试:http://jsfiddle.net/truthseeker/LYCkt/

感谢您的帮助。

+0

您可以按 “TidyUp” 按钮。它正确缩进代码,使其更易于阅读。 ':)' –

+0

抱歉。 – truthSeekr

+0

没问题':p' –

回答

1

试试这个

$("#form_body").clone().find('.element_actions').remove().end().html(); 

节省的jsfiddle演示前的状态demo

+0

谢谢,这很完美。为了除去class .editable,我会遵循相同的规则? – truthSeekr

+1

@truth如果您需要对克隆执行多个命令,我推荐使用多条语句而不是长链,如下所示:'var temp = $('#form_body')。clone(); 。temp.find(”。element_actions')除去(); temp.find('。editable')。remove();'等 –

0

尝试

$("#form_body").clone().find('.element_actions').remove() 

或者

$("#form_body").clone().find('div .element_actions').remove() 

如果你需要它是在一个div。