2013-04-27 89 views
0

如何刪除我的div中的所有複選框?如果我使用它,那麼它會刪除我的段落,但仍會打印每個項目名稱以及中間的
。 (該複選框雖然丟失)如何從div中刪除內容?

$('#fileList').children().remove(); 

我的HTML是:

<div id="fileList"> 
<p> Select which project files you would like to download: </p> 
    <form id="files"> 
     <input type="checkbox" name="projects" value="1">Project File 1</input></br> 
     <input type="checkbox" name="projects" value="2">Project File 2</input></br> 
     <input type="checkbox" name="projects" value="3">Project File 3</input> 
    </form> 
</div> 
+0

你想從刪除DOM還是隻隱藏它們? – roo 2013-04-27 04:20:49

+0

''是[空元素](http://www.456bereastreet.com/archive/201005/void_empty_elements_and_self-closing_start_tags_in_html/),所以它們不應該有結束標記。而是在大於號('>')之前用正斜槓('/')來關閉它們,像這樣:''「。 '
'同樣的事情:正斜線需要在標籤名稱之後,並且在大於號之前。 – 2013-04-27 04:26:53

回答

3

你的HTML是無效的,輸入標籤沒有結束標記,試試這個,而不是

<div id="fileList"> 
    <p> Select which project files you would like to download: </p> 
    <form id="files"> 
     <label><input type="checkbox" name="projects" value="1">Project File 1</label></br> 
     <label><input type="checkbox" name="projects" value="2">Project File 2</label></br> 
     <label><input type="checkbox" name="projects" value="3">Project File 3</label> 
    </form> 
</div> 

$('#fileList label').remove(); 
+0

這樣做!謝謝! – Yecats 2013-04-27 04:21:01

1

你可以嘗試像這樣在你的HTML一個小的修改刪除它們。由於標籤標籤和文本不是用標籤定義複選框的適當方式。

W3C recommendation on how to define a checkbox

http://jsfiddle.net/tAzB2/

$('#fileList input:checkbox').each(function(){ 
    $(this).closest('label').remove(); 
}); 

這裏的問題是,你需要使用標籤來包裝你的複選框,並刪除他們..

讓你的HTML是這樣的: -

<div id="fileList"> 
<p> Select which project files you would like to download: </p> 
    <form id="files"> 
     <label><input type="checkbox" id="idOfField" /> Some text</label> 
     <label><input type="checkbox" name="projects" value="1">Project File 1</input></label></br> 
     <label><input type="checkbox" name="projects" value="2">Project File 2</input></label></br> 
     <label><input type="checkbox" name="projects" value="3">Project File 3</input></label> 
    </form> 
</div> 
+0

這會導致上面的相同行爲...輸入內的每個文本都會打印出來。 – Yecats 2013-04-27 04:14:13

+0

CHECK我現在的答案.. – PSL 2013-04-27 04:18:14

0

你可以通過CSS選擇器指定此:

$('#fileList input[type=checkbox]').remove(); 
+0

這導致上面的相同行爲...輸入內的每個文本都被打印出來。 – Yecats 2013-04-27 04:16:34

0

你可以試試這個

("#myDiv :checkbox").remove(); 
0

如果要刪除整個列表,請嘗試:

$('#files').empty(); 

把一切都完好無損,除了盒子嘗試:

$('#fileList input:checkbox').remove(); 
0

這工作:

$('#fileList input:checkbox').each(function(){ 
    $(this).closest('label').remove(); 
});