繁体   English   中英

jquery - 创建所有LI名称的列表

[英]jquery - Create a List of all LIs Name's

鉴于以下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>

JQUERY是否可以返回一个STRING,一个名称为值的变量:

alert(tagliststring);

警惕:45,1146,13437,51

谢谢

您可以使用each功能:

var names = [];
$('#taglist > li > a').each(function() {
    names.push(this.name);
});
var result = names.join(',');
alert(result);

这样, names将是一个填充每个单独名称的数组, result将是您要查找的逗号分隔的字符串。

有关更多信息,请参阅jQuery文档

更小的方法是使用jQuery的map函数:

var names = $('#taglist > li > a').map(function() { return this.name; }).get();
var result = names.join(',');

第一个例子可能更容易让人们阅读和理解。

使用$.map

var names = $('#taglist > li > a').map(function() {
  return this.name;
}).get().join(',');
// names will contain the string: "45,1146,13437,51"

$.map方法允许您通过函数传递当前匹配集中的每个元素,从而生成包含返回值的新jQuery对象。

$.map ,我使用get方法获取一个普通的JavaScript Array对象,我最终可以调用join方法来生成一个字符串。

这里查看上面的例子。

var output; 
$('li a').each( function() { output += $(this).attr('name') + ','; });

请注意,这将输出一个额外的,在最后。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM