Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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_Html_Css - Fatal编程技术网

Javascript 如何在jQuery中获得相同的命名最大类元素长度?

Javascript 如何在jQuery中获得相同的命名最大类元素长度?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我可以用这段代码很容易地找到具有相同类名长度的元素 var classLength = $('.floor-4').length; 但是如何动态地获取具有相同类名长度的元素呢 以下是我的html代码: <div id="demo"> <div class="floor floor-1" data-floor="5" data-floor-sub="0"> <span class="text">Floor 1</span> <

我可以用这段代码很容易地找到具有相同类名长度的元素

var classLength = $('.floor-4').length;
但是如何动态地获取具有相同类名长度的元素呢

以下是我的html代码:

<div id="demo">
  <div class="floor floor-1" data-floor="5" data-floor-sub="0">
    <span class="text">Floor 1</span>
  </div>
  <div class="floor floor-2" data-floor="5" data-floor-sub="1">
    <span class="text">Floor 2</span>
  </div>
  <div class="floor floor-3" data-floor="1" data-floor-sub="2">
    <span class="text">Floor 33</span></div>
  <div class="floor floor-3" data-floor="2" data-floor-sub="2">
    <span class="text">Floor 33</span>
  </div>
  <div class="floor floor-3" data-floor="3" data-floor-sub="2">
    <span class="text">Floor 31</span>
  </div>
  <div class="floor floor-3" data-floor="4" data-floor-sub="2">
    <span class="text">Floor 31</span>
  </div>
  <div class="floor floor-3" data-floor="5" data-floor-sub="2">
    <span class="text">Floor 32</span>
  </div>
  <div class="floor floor-3" data-floor="6" data-floor-sub="2">
    <span class="text">Floor 33</span>
  </div>
  <div class="floor floor-3" data-floor="7" data-floor-sub="2">
    <span class="text">Floor 33</span>
  </div>
  <div class="floor floor-3" data-floor="8" data-floor-sub="2">
    <span class="text">Floor 33</span>
  </div>
  <div class="floor floor-3" data-floor="9" data-floor-sub="2">
    <span class="text">Floor 33</span>
  </div>
  <div class="floor floor-4" data-floor="0" data-floor-sub="3">
    <span class="text">Floor 4</span>
  </div>
  <div class="floor floor-4" data-floor="1" data-floor-sub="3">
    <span class="text">Floor 4</span>
  </div>
  <div class="floor floor-4" data-floor="2" data-floor-sub="3">
    <span class="text">Floor 4</span>
  </div>
  <div class="floor floor-4" data-floor="3" data-floor-sub="3">
    <span class="text">Floor 4</span>
  </div>
  <div class="floor floor-4" data-floor="4" data-floor-sub="3">
    <span class="text">Floor 4</span>
  </div>
  <div class="floor floor-4" data-floor="5" data-floor-sub="3">
    <span class="text">Floor 4</span>
  </div>
  <div class="floor floor-4" data-floor="6" data-floor-sub="3">
    <span class="text">Floor 4</span>
  </div>
  <div class="floor floor-4" data-floor="7" data-floor-sub="3">
    <span class="text">Floor 4</span>
  </div>
  <div class="floor floor-4" data-floor="8" data-floor-sub="3">
    <span class="text">Floor 4</span>
  </div>
  <div class="floor floor-4" data-floor="9" data-floor-sub="3">
    <span class="text">Floor 4</span>
  </div>
  <div class="floor floor-4" data-floor="10" data-floor-sub="3">
    <span class="text">Floor 4</span>
  </div>
  <div class="floor floor-5" data-floor="4" data-floor-sub="4">
    <span class="text">Floor 5</span>
  </div>
  <div class="floor floor-5" data-floor="5" data-floor-sub="4">
    <span class="text">Floor 5</span>
  </div>
  <div class="floor floor-5" data-floor="6" data-floor-sub="4">
    <span class="text">Floor 5</span>
  </div>     
</div>

一楼
二楼
第33层
第33层
31楼
31楼
第32层
第33层
第33层
第33层
第33层
四楼
四楼
四楼
四楼
四楼
四楼
四楼
四楼
四楼
四楼
四楼
五楼
五楼
五楼

您可以使用从类名或类选择器(前面的点)返回该类元素数的函数对其进行抽象:

如果您想要自定义jQuery方法:

jQuery.fn.classCount = function(classString){
    return $(classString).length;
};

与此类似,这将返回最常出现的类名,如果它们相同,则返回第一个类(如果有两个最大值相同的类):

工作示例:


什么是动态的?将其包装在函数中,并在需要时调用它。@BhavO。我怎样才能找到类名的最大长度?类名字符串的最大长度,或者您需要找到位于楼层末尾的最大数字-?类名的最大长度@巴沃
jQuery.fn.classCount = function(classString){
    return $(classString).length;
};
function getMaxFloorClass(){
    var groups = {}, max = 0, maxClass;
    $(".floor").each(function(i, item){
        var classname = $(item).attr('class');
        groups[classname] = groups[classname] || 0;
        groups[classname]++;
    });

    for(group in groups){
        if(groups[group] > max){
            maxClass = group;
            max = groups[group];
        }
    }
    return maxClass;
}