javascript - 如何在 click 方法中使用 jquery 访问下一个父元素?

标签 javascript jquery html css

如何使用 jquery inside click 方法访问下一个父元素?

 $(document).ready(function () {
  $(".lv1 li").click(function (event) {
    this.parentElement.parentElement.textContent = this.textContent;
    $.ajax({
      type: 'post',
      url: '@Url.Action("myAction", "Mycontroler")',// MVC method: generate url for backend;
      dataType: 'json',
      data: { InitiateId: $(this).val(), InitiateType: "Discipline" },
      success: function (data) {

          $("blabla").removeClass('betimes');
          // action with data aplied on element sub2

      }
    });
  });
});
// i'm happy here
.root-head ul{list-style:none;padding:1px 1px;overflow:hidden;}.root-head ul li{display:none;}.root-head ul li.level{display:flex;float:left;color:#777;padding-left:3px;}.root-head ul li.level:before{content:" > ";}.root-head ul li.level:hover{color:#999;}.root-head ul li.level.options.betimes{display:none;}.root-head ul li.level.options .option-selector{display:none;position:absolute;top:30px;padding:10px;border:2px solid #777;border-radius:10px;width:150px;}.root-head ul li.level.options .option-selector li{display:block;text-align:center;color:#777;}.root-head ul li.level.options:hover .option-selector{display:block;}.root-head ul li.level.options:hover .option-selector li{display:block;}.root-head ul li.level.options:hover .option-selector li:hover{border-bottom:2px solid #777;color:#999;transition:linear .5s ease-in 0s;}.root-head ul li.level:first-child{padding-left:20px;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<div class="root-head">
  <ul>
      <li class="level">main</li>
      <li class="level options">
          sub1
          <ul class="option-selector lv1">
                  <li value="1">option1</li>
                  <li value="2">option2</li>
                  <li value="3">option2</li>
                  <li value="4">option3</li>
                  <li value="5">option4</li>
                  <li value="6">option5</li>

          </ul>
      </li>
      <li class="level options betimes">
          sub2
      </li>
      <li class="level options betimes">
          sub3
      </li>
  </ul>
</div>

当我按我选择的选项的值点击目标元素依赖时,我不会做一些改变!

如何访问父元素的下一个父元素?

限制:

我不确定它是否在这个区 block 中!因为我的 Html 结构多次包含这个!

最佳答案

  1. $(".lv1 li").click(function (event) {之后添加var a = this;

  2. $("blabla").removeClass('betimes'); 替换为 $(a).closest('.options').next('.betimes ').removeClass('betimes');

关于javascript - 如何在 click 方法中使用 jquery 访问下一个父元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57043024/

相关文章:

javascript - 使用带有 active 类的 js 切换选项卡

javascript - jQuery - 打开 div onLoad

html - 在 Angular 5 App 中首次加载 App 时不播放背景视频

jQuery 和 iOS 设备

javascript - 为什么我有时需要使用 JSON.stringify 有时不需要

javascript - CSS 显示属性已设置但在代码运行时不可见

javascript - 两列中的 Bootstrap Accordion

javascript - 在html文件上访问js文件的变量

javascript - 如何使用 *ngFor 循环的 Angular 在表的 <td> 字段内使用 *ngIf 条件?

javascript - 历史记录.go ("partial URL")