JQuery,如何清除,除了点击的元素以外,其他所有元素

如上图,一个大的divclass="main"包含了很多个divclass="class1"(数量不确定)比如我点击任意一个里面小的div,其他div都被清除掉,然后被点... 如上图,一个大的div class="main"包含了很多个div class="class1"(数量不确定)
比如我点击任意一个里面小的div,其他div都被清除掉,然后被点击的div就会移到最顶上
展开
 我来答
一搜娱乐
2018-12-24 · TA获得超过6541个赞
知道答主
回答量:88
采纳率:0%
帮助的人:6.9万
展开全部

可以使用Jquery中的siblings()和remove()方法实现。实现原理主要是使用siblings获取被点击元素之外的同级元素,然后使用remove()删除。完整的代码如下:

运行的效果如下:

例如当点击DIV内容为2的框时,其他的DIV被清除,内容为2的框移到最顶,点击后的效果图如下:

扩展资料:

如果想对移到最顶的框进行一定的突出显示处理,比如给个背景颜色,字体加大,可以利用css()方法,代码如下:

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>JQuery例子</title>

<link href="__CSS__/base.css" rel="stylesheet">

<script src="__JS__/jquery.min.js"></script>

</head>

<body>

<script>

$(function(){

$(".class1").click(function() {

$(this).siblings().remove();  

$(this).css({"background-color":"yellow","font-size":"50px"}); 

});

}); 

</script>

<div class="main">

<div class="class1">1</div>

<div class="class1">2</div>

<div class="class1">3</div>

<div class="class1">4</div>

</div>

<style type="text/css">

.main{width:640px;height:500px;margin:0 auto;border:1px solid red;}

.class1{width:90%;height:100px;margin:0 auto;border:1px solid red;margin-top:10px;font-size:40px;}

</style>

</body>

</html>

运行的效果如下:

learneroner
高粉答主

2015-09-27 · 关注我不会让你失望
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:6584万
展开全部

思路:获取被点击元素之外的元素,使用remove()方法删除节点。

下面进行实例演示——点击某个div后,删除同级的其余div元素:

1、HTML结构

<div class="content">

    <div class="test">1</div>

    <div class="test">2</div>

    <div class="test">3</div>

</div>

2、jquery代码

$(function(){

    $(".test").click(function() {

        $(this).siblings().remove();   // 使用siblings获取被点击元素之外的同级元素,然后使用remove()删除

    });

}); 

3、效果演示

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuebaotuxi
2014-11-02 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4196
采纳率:85%
帮助的人:1049万
展开全部
亲,直接这样就可以了
var aDiv=$("class1");
aDiv.click(function(){
$(this).siblings().hide();

});
更多追问追答
追问

请问我有写错吗?它不起效啊

追答
亲这里,第二个图那里选择class1那里前面少了一个点应该是.class1以为他是类别选择器
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小孚天天推
2018-12-14 · 家事国事天下事事事关心
小孚天天推
采纳数:192 获赞数:341

向TA提问 私信TA
展开全部
这个问题通过jQuery处理的方法有很多,下面给出两种解决办法:

(1)通过查找兄弟节点删除
$('.class1').click(function(){
$(this).siblings('.class1').remove();

})

(2)通过克隆节点,清空main内容
$('.class1').click(function(){
var node = $(this).clone();

$('.main').empty().append(node)
})
其实,jQuery处理节点的方法有很多,可以尽情发挥,对于这题也有不下于5种解决方案,可以尽情发挥。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式