Jquery 删除、添加和查找查询
在下面的代码中,删除复选框并再次添加后。“找不到复选框”的警报始终变为 true
<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");
}
In the following code,after removing the checkboxes and adding it again.The alert always becomes true for "could not find checkboxes"
<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('');
Now all the checkboxes are removed form the 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");
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(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 表示未找到复选框)
$("r_t").remove();
should be$("div[name=r_t]").remove();
$("r_n").html('');
should be$("#r_n").html('');
$("r_n").append
should be$("#r_n").append
and$("r_n :checkbox").length
should be$("#r_n :checkbox").length
finally you have an extra
{
after theif
..`Does it work with those changes ?
UPDATE
Finally your logic is wrong..
you say if the length is > then 0 (means that it found at least 1 checkbox) then show "Could not find checkboxes", but it should really be if length is == 0 (length of 0 means not checkboxes found)