javascript - jQuery 与 div 不工作

标签 javascript jquery

我必须在 jQuery 中创建一个可展开/可折叠面板,并面临一些问题。 代码 HTML

           <div>
              <img src="8A7FA0A1FFEC5443785B9B29AF7629.jpg" alt="" />
                <div>
                  <span>
                    Hello
                </span>
               <ul class="myul">
                  <li>one</li>
              <li>Two</li>
                  </ul>
               </div>
              <img src="8A7FA0A1FFEC5443785B9B29AF7629.jpg" alt="" />
                <div>
                  <span>
                   r u there
               </span>
              <ul class="myul">
                <li>three</li>
                    <li>four</li>
                    </ul>
                 </div>
                 </div>

jQuery代码:

               $(document).ready(function() {

                $(".myul").hide();

                  $("img").click(function() {
                     $(this).next(".myul").slideToggle(600);
                     });
                   });

当我删除内部div标签时

                     <div>
                  <span>
                    Hello
                     </span>

它工作正常,但是使用内部 div 时它不起作用。有人可以帮忙吗? 谢谢。 编辑: 如果代码是这样的:

        <li class="first">
      <span>

        <img src="8A7FA0A1FFEC5443785B9B29AF7629.jpg" width="15" height="15" alt="arrow" />
      </span>
      <div class="mydiv">
        <h3>
          ...
        </h3>
        <span>.... </span>
          <span>.... </span>


        <ul class="myul">
           .......

然后我尝试了你的代码..但它不起作用。我错过了一些东西。

最佳答案

$(this).next("div").find(".myul").slideToggle(600);

next 正在寻找 sibling 。对于 div,.myul 与图像不在同一级别,因此您的代码失败。

对于更新代码,请尝试:

$(this).parent().next("div").find(".myul").slideToggle(600);

图像位于跨度内,因此显然 div 不在图像旁边。

关于javascript - jQuery 与 div 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1571023/

相关文章:

javascript - 使用 'if' 重定向

javascript - 如何使用 Canvas 调整图像大小然后裁剪图像

javascript - Aurelia 中的可选视口(viewport)

jquery - css 变换比例和 jquery bug

javascript - 模态不起作用

javascript - THREE.js TrackballControls 如何将旋转中心更改为不在 Canvas 中心?

JavaScript (jQuery) 只是不断将数据附加到 <div>

javascript - d3js Bars 没有出现在 Legend 上

javascript - 数据作为对象和数组传递?

jquery - $.map jquery 充当指针