Javascript 如何增加页面上的多个属性?

Javascript 如何增加页面上的多个属性?,javascript,jquery,Javascript,Jquery,我试图用两个对象增加页面上的多个属性。我试过这样使用.split() 返回: js-data-box="TYPE_0,FONT_1" 我想在整个页面中搜索这个属性,并增加每个属性集。e、 g js-data-box="TYPE_1,FONT_1" js-data-box="TYPE_2,FONT_2" 使用时,将创建一个数组。必须循环遍历数组中的每个项。正确的方法是: var num = 0; // Set counter to 0 var newString = string.split

我试图用两个对象增加页面上的多个属性。我试过这样使用.split()

返回:

js-data-box="TYPE_0,FONT_1"
我想在整个页面中搜索这个属性,并增加每个属性集。e、 g

js-data-box="TYPE_1,FONT_1"
js-data-box="TYPE_2,FONT_2"
使用时,将创建一个数组。必须循环遍历数组中的每个项。正确的方法是:

var num = 0; // Set counter to 0

var newString = string.split(",").map(function(item) { // Split the string by ',' then loop through each item, replacing it with the correct value
    return item + '_' + num;
}).join(','); // re-join the array of strings into a single string.
num++; // Increment counter.
编辑:


你好像在要求别的东西。如果希望基于当前值递增,正确的方法是使用一个正则表达式,如Clieton所示。仍然必须使用函数,因为split返回数组。唯一的区别是您必须使用正则表达式来获取要递增的原始数字。

您应该使用正则表达式和jQuery做一些工作,下面是一个完整的工作示例:

$(函数(){
$('.block')。查找('input')。每个(函数(){
var attrName='js data discovers';
var$el=$(本);
var attrs=$el.attr(attrName);
var data=attrs.split(',').map(函数(项){
return item.replace(/\d+/,function(num){return++num});
});
$el.attr(attrName,data.join(',');
});
});

以防您希望收集属性并使用唯一计数器存储它们

var num=0;
var-words=[];
var多维=[];
函数集合属性(参数){
console.log(“逐行打印属性”);
$('.block')。子项('input')。每个(函数(){
var attributes=$(this.attr('js-data-diseases').split(',');
var-byLine=[];
对于(i=0;i逐行
num++;
});
log(“在一个数组中打印所有属性”);
console.log(words);//结果=>基本数组
log(“多维数组中的打印属性”);
console.log(多维);//结果=>多维数组
}


似乎您应该将数据拆分为单独的属性,即
js数据框类型
js数据框字体
是的,这会更容易,但我恐怕这不是一个选项
var num = 0; // Set counter to 0

var newString = string.split(",").map(function(item) { // Split the string by ',' then loop through each item, replacing it with the correct value
    return item + '_' + num;
}).join(','); // re-join the array of strings into a single string.
num++; // Increment counter.