gpt4 book ai didi

javascript - 如何使用 Jquery 定位父级 sibling 的子级的单个实例?

转载 作者:行者123 更新时间:2023-11-27 23:44:02 26 4
gpt4 key购买 nike

我有许多具有相同类的动态(php)创建的文章。我想单击一个按钮来定位 parent sibling 的 child 。只是它的那个实例。我当前的代码可以运行但是它在所有文章上显示/隐藏“.descriptionText”div。

如何才能只定位我单击的文章中的此类实例?

所有代码都在下面,但主线是这样的:

$(this).closest(".resultImageContainer")
.siblings(".descriptionTextContainer")
.children('.descriptionText')
.toggle("fold", 100, "linear");

我已经尝试过这些问题的建议:Here & Here .

我的 HTML:

<div class="resultImageContainer">
<div class="resultImage">
{!! HTML::image('images/gd.jpg') !!}
</div>

<!-- This is the button below: -->
<i class="fa fa-plus-square showMoreDetails"></i>
</div>
<div class="daytypeContainer">
<ul id="dayIcons">
<li>
<div class="dayCircle">
<span>M</span>
</div>
</li>
<li>
<div class="dayCircle">
<span>T</span>
</div>
</li>
</ul>
</div>
<div class="descriptionTextContainer">
<!-- This 'descriptionText' is the div I want to show/hide. -->
<div class="descriptionText">
<p>Cheesecake jujubes topping wafer donut tart sweet fruitcake.Dessert carrot cake sugar plum marzipan chocolate cotton candy marzipan danish. Cake jelly apple pie brownie pie ice cream.</p>
</div>
<div class="deetsContainer">
<div class="otherInfoContainer">
<ul id="otherInfoIcons">
<li>
<i class="fa fa-phone"></i>
<p>022132032</p>
</li>
<li>
<i class="fa fa-envelope-o"></i>
</ul>
</div>
<div class="addressContainer">
<p class="streetText">43 Ponsonby Rd</p>
<p class="cityText">AUCKLAND</p>
</div>
</div>
</div>

这是我正在使用的 JQUERY:

$('.showMoreDetails').on('click touch', function(){
if ($(this).hasClass('fa-plus-square')){
$(this).removeClass('fa-plus-square');
$(this).addClass('fa-minus-square');
} else {
$(this).removeClass('fa-minus-square');
$(this).addClass('fa-plus-square');
};

$(this).closest(".resultImageContainer")
.siblings(".descriptionTextContainer")
.children('.descriptionText')
.toggle("fold", 100, "linear");

$(this).parent(".resultImageContainer").toggleClass("justTitle", 100, "linear");
});

最佳答案

这可能就是您正在寻找的:

$(this).parent()
.nextAll(".descriptionTextContainer")
.first()
.children('.descriptionText')
.toggle("fold", 100, "linear");

除非按钮的位置是动态的,否则您可能再次需要 .closest()。也就是说,如果您可以控制标记,那么有很多方法可以让您的生活更轻松。

.nextAll().first() 并不是世界上最糟糕的事情( http://jsperf.com/jquery-next-loop-vs-nextall-first/2 ),但它仍然很脏,因为你的标记有点奇怪。

关于javascript - 如何使用 Jquery 定位父级 sibling 的子级的单个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33403065/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com