js在dom元素中根据某些‘属性’排序
添加元素
var myArr=new Array(),arr=[];//两种数组定义形式
$('#id p').each(function(){//获取每一个元素
arr.push($(this).attr('divName').toLowerCase());//向数组中添加每一个p元素中属性为divName的值,并转化为小写。
});
divName
是自定义属性,当然也可以是其他属性。
过滤已有元素(值相等)
for(var i =0;i<arr.length-1;i++){//过滤已的元素得到新的数组myArr
if(myArr.indexOf(arr[i]) == -1){
myArr.push(arr[i]);//添加myArr中没有的元素
}
}
具体indexOf方法说明请看文档
单词首字母大写
for(var j=0;j<myArr.length;j++){//让数组的每个元素都改为首字母大写
myArr[j]=capitalize(myArr[j]);
}
/*
*
*/
function capitalize(str){//返回当前字符串为首字母大写
return str.replace( /(^|\s)([a-z])/g ,
function(m,p1,p2){ return p1+p2.toUpperCase();
});
};