我有这样的结构:
<ul>
<li>text1</li>
<li>text2</li>
<li>text3</li>
</ul>
如何使用 javascript 或 jQuery 将文本作为数组获取?
['text1', 'text2', 'text3']
之后我的计划是将它组装成一个字符串,可能使用.join(', ')
,并以如下格式获取它:
'"text1", "text2", "text3"'
我有这样的结构:
<ul>
<li>text1</li>
<li>text2</li>
<li>text3</li>
</ul>
如何使用 javascript 或 jQuery 将文本作为数组获取?
['text1', 'text2', 'text3']
之后我的计划是将它组装成一个字符串,可能使用.join(', ')
,并以如下格式获取它:
'"text1", "text2", "text3"'
var optionTexts = [];
$("ul li").each(function() { optionTexts.push($(this).text()) });
...应该可以解决问题。为了获得您正在寻找的最终输出,join()
加上一些连接会很好:
var quotedCSV = '"' + optionTexts.join('", "') + '"';
在干净的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);
kimstik 很接近,但不完全。
以下是如何以方便的单线方式进行操作:
$.map( $('li'), function (element) { return $(element).text() });
这是 jQuery 的地图功能的完整文档,它非常方便:http : //api.jquery.com/jQuery.map/
只是为了完全回答,这是您正在寻找的完整功能:
$.map( $('li'), function (element) { return $(element).text() }).join(', ');
var arr = new Array();
$('li').each(function() {
arr.push(this.innerHTML);
})