用jq将html元素根据属性中的数据分组
2016-03-28 10:22
330 查看
在编程过程中,有时候会对页面遍历出来的元素根据某个参数进行分组排序,下面展示如何分组:
比如遍历出来的元素如下:
<div id="col">
<div flag="1">1</div>
<div flag="3">3</div>
<div flag="3">3</div>
<div flag="2">2</div>
<div flag="1">1</div>
<div flag="3">3</div>
</div>
<div id="test"></div>
想要根据flag中的数字,按照1,1,2,3,3,3分组显示,结果为
<div flag="1">1</div>
<div flag="1">1</div>
<div flag="2">2</div>
<div flag="3">3</div>
<div flag="3">3</div>
<div flag="3">3</div>
可以做如下处理
jq:
var div =
$("[flag]");//获取所有属性中有flag的元素
var table =
{};
var len = div.length;
for (var i
= 0; i <
len; i++) {
if
(table[$(div[i]).attr("flag")]
== undefined) {
var
list =
[];
list.push(div[i]);
table[$(div[i]).attr("flag")]
= list;
} else {
table[$(div[i]).attr("flag")].push(div[i]);//将需要的元素添加进table
}
8fb7
}
for(param in
table){
$("#test").append($(table[param]).clone());//拼接到需要的元素上
}
注意:如果append的时候不用clone方法的话,会将原来的记录覆盖
比如遍历出来的元素如下:
<div id="col">
<div flag="1">1</div>
<div flag="3">3</div>
<div flag="3">3</div>
<div flag="2">2</div>
<div flag="1">1</div>
<div flag="3">3</div>
</div>
<div id="test"></div>
想要根据flag中的数字,按照1,1,2,3,3,3分组显示,结果为
<div flag="1">1</div>
<div flag="1">1</div>
<div flag="2">2</div>
<div flag="3">3</div>
<div flag="3">3</div>
<div flag="3">3</div>
可以做如下处理
jq:
var div =
$("[flag]");//获取所有属性中有flag的元素
var table =
{};
var len = div.length;
for (var i
= 0; i <
len; i++) {
if
(table[$(div[i]).attr("flag")]
== undefined) {
var
list =
[];
list.push(div[i]);
table[$(div[i]).attr("flag")]
= list;
} else {
table[$(div[i]).attr("flag")].push(div[i]);//将需要的元素添加进table
}
8fb7
}
for(param in
table){
$("#test").append($(table[param]).clone());//拼接到需要的元素上
}
注意:如果append的时候不用clone方法的话,会将原来的记录覆盖
相关文章推荐
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- 在Windows 8.1的IE 11中屏蔽双击放大功能
- js数组实现图片轮播
- Apple官网研究之使用Justify布局导航
- 文件遍历排序函数
- 通过Mootools 1.2来操纵HTML DOM元素
- jQuery Html控件基本操作(日常收集整理)
- WEB标准网页布局中尽量不要使用的HTML标签
- js可突破windows弹退效果代码
- Flash 与 html 的一些实用技巧
- html工作中表格<tbody>标签的使用技巧
- HTML 向 XHTML1.0 兼容性指导
- JSP脚本漏洞面面观
- 基于jquery实现一个滚动的分步注册向导-附源码
- C#自写的一个HTML解析类(类似XElement语法)
- 使用BAT一句话命令实现快速合并JS、CSS
- Lua 学习笔记之C API 遍历 Table实现代码