AnA*_*ice 3 javascript each jquery loops
鉴于以下HTML块:
<ul id="taglist">
<li><a name="45" href="">Product 1</a></li>
<li><a name="1146" href="">Product 2</a></li>
<li><a name="13437" href="">Product 3</a></li>
<li><a name="51" href="">Product 4</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
JQUERY是否可以返回一个STRING,一个名称为值的变量:
alert(tagliststring);
Run Code Online (Sandbox Code Playgroud)
警惕:45,1146,13437,51
谢谢
你可以使用这个each功能:
var names = [];
$('#taglist > li > a').each(function() {
names.push(this.name);
});
var result = names.join(',');
alert(result);
Run Code Online (Sandbox Code Playgroud)
这样,names将是一个填充每个单独名称的数组,并且result将是您要查找的逗号分隔的字符串.
有关更多信息,请参阅jQuery文档.
更小的方法是使用jQuery的map功能:
var names = $('#taglist > li > a').map(function() { return this.name; }).get();
var result = names.join(',');
Run Code Online (Sandbox Code Playgroud)
第一个例子可能更容易让人们阅读和理解.
使用$.map:
var names = $('#taglist > li > a').map(function() {
return this.name;
}).get().join(',');
// names will contain the string: "45,1146,13437,51"
Run Code Online (Sandbox Code Playgroud)
该$.map方法允许您通过函数传递当前匹配集中的每个元素,从而生成包含返回值的新jQuery对象.
之后$.map,我使用该get方法获取一个普通的JavaScript Array对象,最后我可以调用该join方法生成一个字符串.
在这里查看上面的例子.