2010-09-29 43 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