当前位置:  开发笔记 > 编程语言 > 正文

在jQuery中获取列表元素内容的数组

如何解决《在jQuery中获取列表元素内容的数组》经验,为你挑选了5个好方法。

我有这样的结构:

  • text1
  • text2
  • text3

如何使用javascript或jQuery将文本作为数组?

['text1', 'text2', 'text3']

我的计划是将它组装成一个字符串,可能是使用.join(', ')它,并以这样的格式得到它:

'"text1", "text2", "text3"'

Shog9.. 138

var optionTexts = [];
$("ul li").each(function() { optionTexts.push($(this).text()) });

......应该做的伎俩.要获得您正在寻找的最终输出,join()加上一些连接将很好地做到:

var quotedCSV = '"' + optionTexts.join('", "') + '"';

jQuery是否保证查询返回的元素的顺序?我假设返回的顺序与DOM中的顺序相同(即text1,text2,text3),但我不知道在文档中要查找的内容是否正确. (2认同)

我从来没有看到它以正常阅读顺序的任何其他方式遍历DOM.所以虽然我无法证明这一点,但我敢打赌它的农场它通过DOM从上到下遍历:) (2认同)


kimstik.. 71

没有冗余的中间阵列:

arr = $('li').map(function(i,el) {
    return $(el).text();
}).get();

请参阅jsfiddle 演示



1> Shog9..:
var optionTexts = [];
$("ul li").each(function() { optionTexts.push($(this).text()) });

......应该做的伎俩.要获得您正在寻找的最终输出,join()加上一些连接将很好地做到:

var quotedCSV = '"' + optionTexts.join('", "') + '"';


jQuery是否保证查询返回的元素的顺序?我假设返回的顺序与DOM中的顺序相同(即text1,text2,text3),但我不知道在文档中要查找的内容是否正确.
我从来没有看到它以正常阅读顺序的任何其他方式遍历DOM.所以虽然我无法证明这一点,但我敢打赌它的农场它通过DOM从上到下遍历:)

2> kimstik..:

没有冗余的中间阵列:

arr = $('li').map(function(i,el) {
    return $(el).text();
}).get();

请参阅jsfiddle 演示


你最后想念`.get()`.
基于Felix Klings的建议:arr = $('li').map(function(){return $(this).text();}).get();
更糟糕的是,迭代器是错误的,你需要切换元素和索引,以便它表示函数(i,el).

3> roenving..:

在干净的JavaScript中:

var texts = [], lis = document.getElementsByTagName("li");
for(var i=0, im=lis.length; im>i; i++)
  texts.push(lis[i].firstChild.nodeValue);

alert(texts);



4> Cybolic..:

kimstik很接近,但并不完全.

以下是如何在方便的单行中完成:

$.map( $('li'), function (element) { return $(element).text() });

这是jQuery的map函数的完整文档,它非常方便:http://api.jquery.com/jQuery.map/

为了完全回答,这里是您正在寻找的完整功能:

$.map( $('li'), function (element) { return $(element).text() }).join(', ');



5> Dave Ward..:
var arr = new Array();

$('li').each(function() { 
  arr.push(this.innerHTML); 
})


为什么?最终$(this).html()将使用本机方法
推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有