js控制点击某个按钮后,只改变该按钮所在容器内某个元素的显示与隐藏,容器有很多个,相同的。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js控制点击某个按钮后,只改变该按钮所在容器内某个元素的显示与隐藏,容器有很多个,相同的。相关的知识,希望对你有一定的参考价值。

当前状态为suo的时候,点击则coverdiv显示,同时class=suo变成class=kaisuo,再点击kaisuo,coverdiv隐藏,并且变为suo。然后这个页面有多个,需要互相不影响,只针对当前的li
<li>
<div class="coverdiv" style="display:block;"><p>离线</p></div>
<span class="suobox">
<a href="" class="suo"></a>
</span>
</div>
</li>
<li>
<div class="coverdiv" style="display:none;"><p>离线</p></div>
<span class="suobox">
<a href="" class="kaisuo"></a>
</span>
</div>
</li>
点击

示例html

<div class="abc" style="display:none"></div>
<input type="button" class="but" />

最简单的方法:

<script>
$(document).ready(function(e) 
$(".but").click(function(e) 
$(".abc").toggle();
);
);
</script>

toggle() 的作用就是当对象是显示的就隐藏,当是隐藏的则显示。

------

如果你除了显示和隐藏之外还需要同时实现其他功能的话,可以这样:

<script>
$(document).ready(function(e) 
$(".but").click(function(e) 
if( $(".abc").hasClass("show") )
// 执行隐藏
$(".abc").hide().removeClass("show");
// 其他
else
// 显示
$(".abc").show().addClass("show");

);
);
</script>

这里通过自定义一个 class : show 来判断 div 是显示或隐藏

hasClass() 是否存在某个class

hide() 隐藏对象

show() 显示对象

removeClass() 移除一个class

addClass() 添加一个class

除此,还可以通过jquery设置这个 div 的 css : display:none/block 来实现隐藏/显示

PS:jquery如何删除div里面的某个div

思路:首先获取到需要删除的对象,然后使用jQuery提供的 remove() 方法删除被选元素及其子元素。

例如,对于如下的HTML结构:

<div id="test">

<div id="test1"></div>

<div class="test2"></div>

<div class="test2"></div>

<div></div>

</div>

1、删除id为test1的div

首先使用id选择器获取元素,然后使用remove()函数删除,相应代码为:

$("div#test1").remove();

2、删除所有class为test2的元素

$("#test div.test2").remove();   // 或者  $("div").remove("#test .test2");

3、删除最后一个div

虽然该div没有id及class属性,但是可以从其位置关系上获取然后删除之:

$("#test div:last").remove();

追问

这是回答我的问题么?

参考技术A <li>
   <div class="coverdiv" style="display:block;"><p>离线</p></div>
   <span class="suobox">
      <a href="javascript:;" class="suo"></a>
   </span>
</li>
<li>
   <div class="coverdiv" style="display:none;"><p>离线</p></div>
   <span class="suobox">
      <a href="javascript:;" class="kaisuo"></a>
   </span>
</li>
<script>
window.onload=function()
   var sb=document.getElementsByClassName("suobox");
   for(var i=0;i<sb.length;i++)
      sb[i].onclick=function()
         var suo=this.getElementsByTagName("a")[0];
         var od=this.parentNode.getElementsByTagName("div")[0];
         if(suo.className=="suo")
            od.style.display="none";
            suo.className="kaisuo";
         else
            od.style.display="block";
            suo.className="suo";
         
      
   

</script>

参考技术B $('li span a').click(function()
    if($(this).hasClass('suo'))
    
        this.className = 'kaisuo';
        $(this).parent('span').prev('.coverdiv').show();
    
    else if($(this).hasClass('kaisuo'))
    
        this.className = 'suo';
        $(this).parent('span').prev('.coverdiv').hide();
    
)

参考技术C $("#id").hide();追问

看不懂,我是小白。每一个都是相同的,里面都要有这个操作,不是只有一个

C#Winform如何实现点击按钮变色

就像qq这种的 在哪个页面上 该页面的颜色就和别的页面不一样。代码怎么写呢?

参考技术A 可以在点击、鼠标经过设置按钮颜色,也可以使用不同颜色的小图标

以上是关于js控制点击某个按钮后,只改变该按钮所在容器内某个元素的显示与隐藏,容器有很多个,相同的。的主要内容,如果未能解决你的问题,请参考以下文章

怎么用jQuery实现点击按钮后删除某个元素?

Jquery 怎么只给点击的元素加个class

js刷新当前页面

js或者jquery,点击删除删除某个div问题

导航菜单点击跳转后如何改变其样式

finereport 工具栏