javascript - 单击功能更改具有相同类名的所有元素

标签 javascript php html jquery

我有一个具有相同类名的 div,它在 php 循环中迭代。每当单击 more 链接时,所有带有 class='detail-section' 的 div 都会打开和关闭,而不仅仅是循环中选定的特定 div。我已经尝试过 $(this).closest ,它似乎没有改变任何东西。要么是因为距离不近,要么是其他原因。我想不通。非常感谢任何帮助。

foreach($rows as $a => $b){
  <div><a class='more-detail' style='cursor: pointer; font-color:#0000ff;'>More...</a></div>

  <div class='detail-section' style='display: none;'> 
     <!--Content-->
  </div>

  <div><a class='less-detail' style='cursor: pointer; font-color:#0000ff;'>Less...</a></div>
}

这是我的脚本

<script>
$(document).ready(function(){

  $(".more-detail").click(function(){
    $(".detail-section").css("display", "block");
    $(".more-detail").css("display", "none");
    $(".less-detail").css("display", "block");
  });

  $(".less-detail").click(function(){
    $(".detail-section").css("display", "none");
    $(".more-detail").css("display", "block");
    $(".less-detail").css("display", "none");
  });

});
</script>

最佳答案

this.next().prev() 方法一起使用:

  $(".more-detail").click(function(){
    $(this).next(".detail-section").css("display", "block");
    $(this).next(".less-detail").css("display", "block");
    $(this).css("display", "none");
  });

  $(".less-detail").click(function(){
    $(this).prev(".detail-section").css("display", "block");
    $(this).prev(".more-detail").css("display", "block");
    $(this).css("display", "none");
  });

关于javascript - 单击功能更改具有相同类名的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56307223/

相关文章:

javascript - 如何在canvas的fillText方法中解析html标记

javascript - 将所见即所得编辑器集成到最佳文本区域

javascript - 访问 Nativescript 布局中嵌套转发器中父 ListView 的索引

php - 存储 PHP 数组的首选方法(json_encode 与序列化)

php - 大型 MySQL 查询超时

html - 在 WebKit 浏览器中滚动时背景颜色切换为透明

javascript - 不显示 src 的视频 RTC

javascript - 你如何柯里化(Currying)任意数量的任何 javascript 函数?

php - 尝试连接 Zend Framework Abstract.php 没有这样的文件或目录时出现数据库连接问题

javascript - 仅拖/放更改元素检查一次