Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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,我有像dis_5和dis_3这样的类的元素。这里的dis_部分在数字改变时保持不变。我想用每个dis编号计算元素,例如如果3个元素有dis_5类,则计算元素。同样,其他人也不例外 var result = $('[class^=dis_]').filter(function () { return this.class.match(/dis_\d+$/); //regex for the pattern "rank_ followed by a number" }

我有像
dis_5
dis_3
这样的类的元素。这里的
dis_
部分在数字改变时保持不变。我想用每个dis编号计算元素,例如如果3个元素有dis_5类,则计算元素。同样,其他人也不例外

var result = $('[class^=dis_]').filter(function () {
            return this.class.match(/dis_\d+$/); //regex for the pattern "rank_ followed by a number"
    });

如何将末尾带有特定编号的元素捆绑在一起。

使用Jquery.length将返回所选元素的计数

var lengthArr = []; // array to hold your result set

var YourNumberLimit = 5; // if you class is an incremental number with prefix "dis_", like dis_1, dis_2, dis_3, dis_4, dis_5

for (i=1;i<=YourNumberLimit ; i++) {

   lengthArr.push ( $(".dis_" + i).length); // your answer is here.

}
var classes={};
$('[class^=dis_]').each(function () {
    if(classes.hasOwnProperty(this.className)){
      classes[this.className]= classes[this.className]+1;
    } else {
      classes[this.className]=1;
    }
});
试试这个

var lengthArr = []; // array to hold your result set

var YourNumberLimit = 5; // if you class is an incremental number with prefix "dis_", like dis_1, dis_2, dis_3, dis_4, dis_5

for (i=1;i<=YourNumberLimit ; i++) {

   lengthArr.push ( $(".dis_" + i).length); // your answer is here.

}
var classes={};
$('[class^=dis_]').each(function () {
    if(classes.hasOwnProperty(this.className)){
      classes[this.className]= classes[this.className]+1;
    } else {
      classes[this.className]=1;
    }
});
片段,

var类={};
$('[class^=dis_]')。每个(函数(){
如果(classes.hasOwnProperty(this.className)){//如果存在类,则将其递增1
classes[this.className]=classes[this.className]+1;
}否则{
类[this.className]=1;//第一个实例
}
});
console.log(类)

第一类
第一类
第一类
第五类
第五类
第二类

第三类
试试这个。希望这有帮助


var arrClasses=[],uniqueClass=[];
$('[class^=dis_]')。每个(函数(){
var className=this.className.match(/dis\d+/);
if(类名){
arrClasses.push(className[0]);
返回类名[0];
}
});
$。每个(类、函数(i、el){
如果($.inArray(el,uniqueClass)=-1)uniqueClass.push(el);
});
$.each(唯一类、函数(i、el){
变量classLen=$('.'+el).length;
log('Class:'+el+'--Length:'+classLen);
});

1.
2.
3.
4.
5.
6.
jQuery(文档).ready(函数(){
var classString=“”;
jQuery('[class^=dis_]')。每个(函数(){
var classData=jQuery(this.attr(“类”);
var ClassDataChunk=classData.split(“”);
var classChunk=ClassDataChunk[1];
var-elmVal=jQuery(“#elm”).val();
if(elmVal.indexOf(classChunk)<0){
警报(“类dis_u3;”+classChunk+”具有count=“+jQuery”(.dis_3;”+classChunk).length);
}
classString=classString+“,”+classChunk;
jQuery(“#elm”).val(类字符串);
});
});

3.
1.
1.
1.
1.
2.
2.
4.
3.
3.

您可以使用
Array.from()
$(“[class*='dis']”)作为参数,
Array.prototype.reduce()
和第二个参数处的
Map
的普通对象,将
dis\N”
设置为对象的属性,并将值设置为与
匹配的
.className
RegExp
/dis\d+//code>,它还被传递到
jQuery()
调用,该调用连接到
”,并链接到
.length

var len=Array.from($(“[class*='dis']”)
.减少(功能(o,el){
var c=el.className.match(/dis\d+/).pop();
o[c]=$(“+c).长度;
返回o
}, {});
控制台日志(len)


$(函数(){
var类={};
$('[class^=dis_]')。每个(函数(索引,项){
var reg=/\s*dis\uw+/g;
var className=$(item.attr('class');
var regElements=className.match(reg);

对于(var i=0;jquery对象有一个长度,您尝试了什么?添加您的代码。我知道长度是多少……如何从代码中提取元素。这样就很容易给出答案。您已经做到了(但您肯定是指
/dis\d+$/
而不是
/rank\d+/
),继续。我想单独计算类,就像所有的dis_2一起,dis_17一起,加上在每个标记上这样使用时,对Enedt的数量没有限制。var LengthDis5=$(“.dis_5”).length;为什么使用这个.className。它在这里工作,但console.log对我来说是空的不知道为什么我的div有多个类在这里读到了关于className的内容是的,我搜索了它。thnx…….我想多个类有什么关系吗