jquery 获取下一个名为 moreProductsBox 的 div 并使用 sliderToggle 打开它

发布于 2024-10-09 19:27:17 字数 699 浏览 2 评论 0原文

尝试访问我单击的链接后的下一个可用 div,使用 moreProductsBox 类,然后滑动将其打开。

这就是我现在所拥有的:

链接:

<div class="productContent">
<p><a href="#" onclick="return false;"  class="viewMoreProducts">View Related Products </a></p>
</div>
<div class="productSelectBar">
<div class="selectBar">
</div>
</div>

<!-- View More Products Box -->
<div class="moreProductsBox" style="display:none;">
</div>

Jquery 是:

// Show Hidden Product Boxes on Expand  
$(".viewMoreProducts").click(function() {
    $(this).nextAll(".moreProductsBox:first").slideToggle()
};

*更新的标记更加清晰

Trying to get access to the next available div after the a link that i click, with a class of moreProductsBox and then slideToggle it open.

This is what i have now:

Link:

<div class="productContent">
<p><a href="#" onclick="return false;"  class="viewMoreProducts">View Related Products </a></p>
</div>
<div class="productSelectBar">
<div class="selectBar">
</div>
</div>

<!-- View More Products Box -->
<div class="moreProductsBox" style="display:none;">
</div>

Jquery is:

// Show Hidden Product Boxes on Expand  
$(".viewMoreProducts").click(function() {
    $(this).nextAll(".moreProductsBox:first").slideToggle()
};

*Updated markup to be more clear

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

ゞ记忆︶ㄣ 2024-10-16 19:27:18

next 适用于兄弟节点,html 中没有“下一个”div

http://api.jquery.com/ next/

描述:获取匹配元素集中每个元素的紧随其后的同级元素。如果提供了选择器,则仅当它与该选择器匹配时,它才会检索下一个同级。

发布包含锚点和 div 标记的 html,您可能需要类似的内容

// this should work if the p tag has a sibling div moreProductsBox
$(this).parent().next('moreProductsBox').slideToggle;

next works on sibling nodes, there is no 'next' div in your html

http://api.jquery.com/next/

Description: Get the immediately following sibling of each element in the set of matched elements. If a selector is provided, it retrieves the next sibling only if it matches that selector.

post the html which contains both your anchor and div mark up, you probably want something like

// this should work if the p tag has a sibling div moreProductsBox
$(this).parent().next('moreProductsBox').slideToggle;
硪扪都還晓 2024-10-16 19:27:18

我使用 moreProductsBox 类访问下一个 div 的唯一方法是:

$(this).parent().parent().parent().find(".moreProductsBox:first").slideToggle();

给出的其他建议不起作用。

the only way for me to access that next div with the class moreProductsBox was to do:

$(this).parent().parent().parent().find(".moreProductsBox:first").slideToggle();

The other suggestions that were given didn't work.

Smile简单爱 2024-10-16 19:27:17

文档中的 .moreProductsBox.viewMoreProducts 有何关系?它是文档中其他元素的同级元素还是子元素?如果它是同级,但不是下一个,您可以尝试:

$(this).nextAll(".moreProductsBox:first").slideToggle();

因为 .next 只会为您提供下一个同级

How is .moreProductsBox related to .viewMoreProducts in the document? Is it a sibling, or a child of some other element further down your document? If it is a sibling, but not the very next one, you might try:

$(this).nextAll(".moreProductsBox:first").slideToggle();

since .next will only get you the very next sibling.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文