Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery向索引小于单击元素的所有类似元素添加类?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jquery向索引小于单击元素的所有类似元素添加类?

Javascript 如何使用jquery向索引小于单击元素的所有类似元素添加类?,javascript,jquery,Javascript,Jquery,我有8个元素,每个元素代表一个瑜伽姿势。单击其中一个元素时,我想为单击元素前后的所有姿势卡添加/删除类。到目前为止,我已经能够使用以下方法获得单击元素的索引: $(".pose-card").click(function () { clickedPoseIndex = $(".pose-card").index(this); }); 然后我尝试使用一个过滤函数来获取索引小于单击索引的索引,如下所示: let prevPoses = $("

我有8个元素,每个元素代表一个瑜伽姿势。单击其中一个元素时,我想为单击元素前后的所有姿势卡添加/删除类。到目前为止,我已经能够使用以下方法获得单击元素的索引:

$(".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