jquery $.each问题

pw6965921pw 2014-03-04 08:37:52
<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("ul li").each(function(){
alert($(this).text())
});
});
});
</script>
</head>
<body>
<button>输出每个列表项的值</button>
<ul>
<li>11</li>
<li>22</li>
<li>33</li>
</ul>
<ul>
<li>1</li>
<li>2</li>
<li>2</li>
</ul>
</body>
</html>


怎么把11 22 33放入数组a 把 1 2 3放入数组b 这个li可以动态增加的。。。
...全文
161 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pw6965921pw 2014-03-05
  • 打赏
  • 举报
回复
引用 5 楼 Return_false 的回复:
这明显是一个for套for的循环,先遍历ul,每个ul下遍历li,并把相应的值存入对应的数组 如果页面上有多个ul,将每个ul下的li存入不同的数组 那么你可能考虑如下的代码
$(function(){
	var arr=[];
	$("ul").each(function(index, element) {
		var temp=[];
        $(this).find('li').each(function(index, element) {
            temp.push($(this).html());
        });
		arr.push(temp);
    });
	alert(arr);
})
你的方法最好用 支持动态!! 谢谢 如果还有什么疑问我还会问的哦
荒牧 2014-03-04
  • 打赏
  • 举报
回复
//script部分 var a = new Array(); var b = new Array(); $(document).ready(function(){ $("button").click(function(){ $("ul:first li").each(function(){ a.push($(this).text()); }); $("ul:last li").each(function(){ b.push($(this).text()); }); for(var t in a){ alert(a[t]); } for(var t in b){ alert(b[t]); } }); });
孟子E章 2014-03-04
  • 打赏
  • 举报
回复
你还可以存入li,用的时候再取text()
<script type="text/javascript">
  $(document).ready(function () {
    $("button").click(function () {
      a = $("ul").eq(0).find("li").toArray();
      b = $("ul").eq(1).find("li").toArray();
      alert(a);
      alert(b);
    });
  });
</script>
  • 打赏
  • 举报
回复
这明显是一个for套for的循环,先遍历ul,每个ul下遍历li,并把相应的值存入对应的数组 如果页面上有多个ul,将每个ul下的li存入不同的数组 那么你可能考虑如下的代码
$(function(){
	var arr=[];
	$("ul").each(function(index, element) {
		var temp=[];
        $(this).find('li').each(function(index, element) {
            temp.push($(this).html());
        });
		arr.push(temp);
    });
	alert(arr);
})
别闹腰不好 2014-03-04
  • 打赏
  • 举报
回复
var a=new Array(); var b=new Array(); $(document).ready(function(){ $("button").click(function(){ $("ul:nth-child(1)").children("li").each(function(key,val){ a.push($(val).text()); }); $("ul:nth-child(2)").children("li").each(function(key,val){ b.push($(val).text()); }); }); });
孟子E章 2014-03-04
  • 打赏
  • 举报
回复
你可以循环啊

<script type="text/javascript">
var a = [];
var b = [];
$(document).ready(function () {
$("button").click(function () {
$("ul").each(function (index) {
if (index == 0) {
$(this).find("li").each(function () {
a.push($(this).text())
})
}
else {
$(this).find("li").each(function () {
b.push($(this).text())
})
}
});
alert(a);
alert(b);
});
});
</script>
zhjdg 2014-03-04
  • 打赏
  • 举报
回复
$(document).ready(function() {
		$("button").click(function() {
			var arr=[];
			$("ul").each(function(kk,vv) {
				$(this).find('li').each(function(k,v){
					arr[kk] = arr[kk] || [];
					var val = $(this).text();
					arr[kk].push(val);
				})												
			});
			var $a = arr;
		});		
	});
yyl8781697 2014-03-04
  • 打赏
  • 举报
回复
用ID将这两个UL给区别出来 再分别遍历

<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
	var a=Array(),b=Array();

    $("#a li").each(function(){
      a.push($(this).text());
    });
	
	$("#b li").each(function(){
      b.push($(this).text());
    });
	
	console.log(a,b);
  });
});
</script>
</head>
<body>
<button>输出每个列表项的值</button>
<ul id="a">
<li>11</li>
<li>22</li>
<li>33</li>
</ul>
<ul id="b">
<li>1</li>
<li>2</li>
<li>2</li>
</ul>
</body>
</html>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧