2010-09-29 45 views
0

在下面的代碼,去掉複選框,將其添加爲again.The「找不到複選框」jQuery的刪除,添加,找到查詢

<div id="r_n"> 
    <div name="r_t"><input type="checkbox" name="r_name" />Name</div> 
    <div name="r_t"><input type="checkbox" name="r_name" />Address</div> 
    <div name="r_t"><input type="checkbox" name="r_name" />Value</div> 
    <div name="r_t"><input type="checkbox" name="r_name" />Total</div> 
</div> 

<script> 
    $("r_t").remove(); 
    $("r_n").html(''); 

現在所有的複選框被刪除形式警報始終爲真後, DOM的

$("r_n").append('<div name="r_t"><input type="checkbox" name="r_name" />Name</div> 
      <div name="r_t"><input type="checkbox" name="r_name" />Address</div> 
      <div name="r_t"><input type="checkbox" name="r_name" />Value</div> 
      <div name="r_t"><input type="checkbox" name="r_name" />Total</div>'); 

if($("r_n :checkbox").length > 0) { 
    { 
     alert("Could not find checkboxes") 
    } 
    else 
    { 
     alert("Found"); 
    } 
+0

注意在你的例子中你使用'length> 0',你確定你不是指'length == 0'嗎?有些時候你的腳本會提醒'找不到複選框'。 – 2010-09-29 07:19:24

+0

我無法得到這種情況。如果有任何複選框的長度應該大於0.Rit? – Rajeev 2010-09-29 07:26:55

回答

4

$("r_t").remove();應該$("div[name=r_t]").remove();
$("r_n").html('');應該$("#r_n").html('');
$("r_n").append應該$("#r_n").append
$("r_n :checkbox").length應該$("#r_n :checkbox").length

最後你有if ..` 後,一個額外的{是否與這些變化工作?

UPDATE

最後你的邏輯是不對的..

你說,如果長度爲>然後0(意味着它發現至少1複選框),則顯示「無法找到複選框「,但它應該的確如果長度爲== 0(長度爲0意味着未找到複選框

+0

積分取消後重新添加它。它總是警告如果(長度== 0) – Rajeev 2010-09-29 07:35:31

+0

@Rajeev,看看一個完整的代碼示例http://jsfiddle.net/MPzw5/ – 2010-09-29 17:46:36