javascript - 不适用于最新的 jquery 版本

标签 javascript jquery

为什么此代码在最新版本的 jQuery 中不起作用?

    $('.head').click(function(){
         if($(this).next('#list').hasClass('block')){
      	     $(this).next('#list').removeClass('block');
         }
      	 else{
    	     $(this).parent().find('#list').removeClass('block');
         	 $(this).next().addClass('block');
      	 }
    });
#list{
  display:none;
}

.head{
  border: 1px solid #e6dfdf;
  background: #efdbdb;
  padding:5px;
  margin:5px 0;
}
#menu{
  display:inline-block;
}
.block{
  display:block !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<div id="menu">
  <div class="head" >head1</div>
  <ul id="list">
    <li>item1</li>
    <li>item2</li>
    <li>item3</li>
  </ul>
  <div class="head" >head2</div>
    <ul id="list">
      <li>item1</li>
      <li>item2</li>
      <li>item3</li>
    </ul>
    <div class="head" >head3</div>
      <ul id="list">
        <li>
            <div class="head" >head3</div>
            <ul id="list">
              <li>item1</li>
              <li>item2</li>
              <li>item3</li>
            </ul>
        </li>
        <li>item2</li>
        <li>item3</li>
      </ul>
    </div>

这是问题:https://jsfiddle.net/silpajacob449/y39wk6mn/

最佳答案

id是唯一标识,尝试将#list改为.list

关于javascript - 不适用于最新的 jquery 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48200831/

相关文章:

javascript - 如何在 javascript 中打印带有首选项的 html?

javascript - 无法通过 jQuery 正确定位两个不同的下拉菜单

javascript - 使用 javascript 添加 HTML 标签

javascript - 检测输入是否有焦点

javascript - 从 <a> 中删除点击事件处理程序

jquery - jQuery的pushStack函数是如何工作的?

javascript - 为什么这么多 JS 库中使用 function(global, factory)?

javascript - CSS 注入(inject)在 content_scripts 中使用声明失败,但在通过注入(inject)的 JavaScript 加载时有效

javascript - 在滚动列表的最后一项和父项的边框之间添加空间

javascript - 如何在我们的应用程序中使用此 sencha 触摸图像?