在jQuery中选择多个类并在此实例上查找元素宽度

时间:2018-02-12 10:23:08

标签: javascript jquery

我尝试了两个小时但却找不到确切的答案。 我正在尝试执行以下操作:

function myFunction() {
    $('.class1, .class2').each(function (){
      var Width1 = $(this).find('.class1').width();
      var Width2 = $(this).find('.class2').width();
      // do stuff here...
    });
}

我想选择两个类,然后将当前实例的元素宽度检索到两个不同的变量,有数千个带有class1和class2的元素。类2不是类1的子类,选择似乎是有效的,但是vars在执行后是未定义的,为什么它不起作用?

1 个答案:

答案 0 :(得分:0)

正如你所说.class1不是.class2的孩子所以。找不到工作。您需要检查当前元素是否为class1,然后将其值分配给width1其他分配值width2。使用.is()执行此操作:

function myFunction() {
    $('.class1, .class2').each(function (){

      var Width1, Width2;

      if($(this).is(".class1")) 
         Width1 = $(this).width();
      else 
         Width2 = $(this).width();

    });
}