【问题标题】:Jquery remove,add and find queryJquery 删除、添加和查找查询
【发布时间】:2011-04-18 16:22:26
【问题描述】:

在以下代码中,删除复选框并再次添加后。“找不到复选框”的警报始终为真

<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");
  }   

【问题讨论】:

  • 请注意,在您的示例中您使用length &gt; 0,您确定您不是指length == 0?当有一些复选框时,您的脚本会提示“找不到复选框”。
  • 我无法做到这一点。如果有任何复选框长度应该大于 0.Rit?

标签: jquery jquery-ui jquery-selectors jquery-validate


【解决方案1】:

$("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 之后多了一个{ ..` 它是否适用于这些更改?

更新

最后你的逻辑错了..

你说如果长度是>那么0(意味着它至少找到1个复选框)然后显示“找不到复选框”,但它确实应该是如果长度为 == 0(长度为 0 表示未找到复选框

【讨论】:

  • 点数。删除并重新添加后。它总是在 if(length == 0) 中发出警报
猜你喜欢
  • 1970-01-01
  • 2022-12-18
  • 2020-09-27
  • 2017-10-14
  • 2014-09-07
  • 2020-04-27
  • 2015-10-18
  • 2019-07-26
  • 2010-10-12
相关资源
最近更新 更多