Javascript 如何使用jquery向索引小于单击元素的所有类似元素添加类?
我有8个元素,每个元素代表一个瑜伽姿势。单击其中一个元素时,我想为单击元素前后的所有姿势卡添加/删除类。到目前为止,我已经能够使用以下方法获得单击元素的索引:Javascript 如何使用jquery向索引小于单击元素的所有类似元素添加类?,javascript,jquery,Javascript,Jquery,我有8个元素,每个元素代表一个瑜伽姿势。单击其中一个元素时,我想为单击元素前后的所有姿势卡添加/删除类。到目前为止,我已经能够使用以下方法获得单击元素的索引: $(".pose-card").click(function () { clickedPoseIndex = $(".pose-card").index(this); }); 然后我尝试使用一个过滤函数来获取索引小于单击索引的索引,如下所示: let prevPoses = $("
$(".pose-card").click(function () {
clickedPoseIndex = $(".pose-card").index(this);
});
然后我尝试使用一个过滤函数来获取索引小于单击索引的索引,如下所示:
let prevPoses = $(".pose-card").filter(function () {
return parseInt($(".pose-card").index(this) < clickedPoseIndex);
});
let prevPoses=$(“.pose-card”).filter(函数(){
返回parseInt($(“.pose-card”).index(this)
但那不起作用!如果你能想出更好的解决办法,请告诉我。非常感谢 在筛选器中,您要做的是将索引获取为int(因此是parseInt函数),并与存储在clickedPoseIndex中的值进行比较,该值已经是int。您只是缺少了一个括号或放错了一个括号。你所要做的就是:
let prevPoses = $(".pose-card").filter(function () {
return parseInt($(".pose-card").index(this)) < clickedPoseIndex;
});
let prevPoses=$(“.pose-card”).filter(函数(){
返回parseInt($(“.pose-card”).index(this))
编辑
也不需要使用parseInt,因为返回的值已经是int,因此:
return $(".pose-card").index(this) < clickedPoseIndex;
return$(“.pose-card”)。索引(this)
请同时发布您的HTML。我们需要一个你的主题所说的索引小于,但你的问题本质上是说“所有其他”。它是哪个?parseInt
接受一个字符串,而不是布尔值,index()
返回一个整数,因此根本不需要parseInt
。