javascript - 使用 jQuery 定位子 UL

标签 javascript jquery

我的页面上有一个无序列表,其中包含每个 LI 内的列表。

目前它们都设置为不显示,但单击“我”想切换显示设置。

我写了以下内容,但我似乎无法让它发挥作用,有人知道我哪里出了问题吗?

//Product range expander
$('.product-range ul li a').click(function() {
  $(this).find('.product-range ul li ul').slideDown('slow');
  //$('.product-range ul li a').next('ul').toggle();
  return false;
});

最佳答案

  • 使用$(this)选择被点击的元素(即 anchor 元素)。
  • 使用 .parents("li") 查找 anchor 的第一个匹配父级。这样我们就可以找到与 a 包含在同一 li 中的 ul
  • 使用 .find("ul") 查找 li 元素内的 ul 元素。
<小时/>
$('.product-range ul li a').click(function() {
  $(this).parents("li").find("ul").slideDown('slow')
  return false;
});
<小时/>

或者您可以使用siblings:

$('.product-range ul li a').click(function() {
  $(this).siblings("ul").slideDown('slow')
  return false;
});

但是,我更喜欢找到共同的父元素,然后找到元素,以防标记发生变化。

关于javascript - 使用 jQuery 定位子 UL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12510732/

相关文章:

javascript - MongoDB:如何在 100 个集合中找到 10 个随机文档?

javascript - 在不删除子节点的情况下更新 innerText

javascript - 理解promise.race()的用法

javascript - 如何在单击按钮时创建具有不同类的 div?

javascript - 在 JavaScript 中从 JSON 加载内容之前返回值

javascript - 调整大小时,使用 laravel 中的 asset 函数加载图像

jquery - jqGrid 没有子网格分组?

jquery - 我可以在 jquery 中设置图像标签的 alt 属性的样式吗?

jquery - 如何使用 jquery 1.7.2 获取当前显示的选项卡索引

jquery - 根据文本框更改更新字段 jQuery