Javascript jQuery-如何根据类获取元素的动态宽度

Javascript jQuery-如何根据类获取元素的动态宽度,javascript,jquery,html,css,jquery-animate,Javascript,Jquery,Html,Css,Jquery Animate,我有这个基本的动画,其中包括两个div。一个div的类为single,另一个div的类为double。每个都有一个39px的高度 .single元素的宽度为100px,double元素的宽度为200px,但是,我从开始,singlediv为50px,double为100px,然后,使用jQuery,我(希望)根据每个div的类将其设置为宽度。这有点难以解释,因此我将向您展示代码格式: HTML: jQuery: 我只想这样做: $("#block").animate({ height:

我有这个基本的动画,其中包括两个div。一个div的类为
single
,另一个div的类为
double
。每个都有一个39px的高度

.single
元素的宽度为100px,double元素的宽度为200px,但是,我从
开始,single
div为50px,double为100px,然后,使用jQuery,我(希望)根据每个div的类将其设置为宽度。这有点难以解释,因此我将向您展示代码格式:

HTML:

jQuery:

我只想这样做:

$("#block").animate({
    height: "39px"
});

$("#block.single").animate({
    width: "100px"
});

$("#block.single").animate({
    width: "200px"
});
但是在设置
#block.double
动画之前,它会设置
#block.single
动画,我希望同时设置它们的动画


任何帮助都将不胜感激,我已经准备好了。呵呵。

ID必须是唯一的,您可以改用类,试试下面的方法

<div class="block red single"></div>
<div class="block blue double"></div>

这意味着您不应该为多个元素使用ID。哦,我明白了。因此,我是否可以使用
if($(“div”).hasClass(“…”){…}
?是的,您还可以向div元素添加类块,并使用类选择器选择它们。但它并不能解决这个问题。不,在设置
id=“block1
动画之前,它会设置
id=“block2”动画“
。好吧,这比我之前经历的要好,但请注意它是如何在设置两个元素的宽度之前设置高度动画的?我希望所有的动画都同时出现。我想知道是否有专门的方法,比如在width对象中使用条件语句,而不是使用基本的jQuery语法,因为它并没有真正实现我希望实现的功能。或者使用条件语句动态添加相应的width变量。哈哈!对天哪,这太简单了。我想当我在某件事情上工作太久的时候就会发生这种情况。非常感谢。
    if($("#block").hasClass("double")) {
        respectiveWidth = "200px"
    }

    if($("#block").hasClass("single")) {
        respectiveWidth = "100px"
    }

    $("#block").delay(delayRate).animate({
        height: "145px",
        width: respectiveWidth
    }, 900);
$("#block").animate({
    height: "39px"
});

$("#block.single").animate({
    width: "100px"
});

$("#block.single").animate({
    width: "200px"
});
<div class="block red single"></div>
<div class="block blue double"></div>
$(".block").animate({
    height: "39px"
});

$(".block.single").animate({
    width: "100px"
}, 700);

$(".block.double").animate({
    width: "200px"
}, 700);