Jquery,获取数组text()

bvhaajcl  于 2022-12-12  发布在  jQuery
关注(0)|答案(7)|浏览(124)

我尝试在使用text函数后获取一个文本数组,它有一个ul列表,如

<ul>
  <li>one
    <ul>
      <li>one one</li>
      <li>one two</li>
    </ul>
  </li>
</ul>

然后得到类似于

['one', 'one one', 'one two']
drkbr07n

drkbr07n1#

var array = $('li').map(function(){
               return $.trim($(this).text());
            }).get();

http://api.jquery.com/map/
演示小提琴-->http://jsfiddle.net/EC4yq/

2o7dmzc5

2o7dmzc52#

试试这个:

$("li").map(function(){ return this.innerText })

或以下内容:

$("li").toArray().map(function(i){ return i.innerText })
y4ekin9u

y4ekin9u3#

你只想收到李家的短信?

var resultArray = [];

$('li').each(function(){
    resultArray.push($(this).text());
});
f0brbegy

f0brbegy4#

有几个答案忽略了OP所需的格式。
这会给予你你想要的。

$('li').map(function(){
    var $clone = $(this).clone();
    $clone.children('*').remove();
    return $.trim($clone.text());
}).get()

小提琴:http://jsfiddle.net/pE9PR/

4bbkushb

4bbkushb5#

你可以这样做

var children = $(listholder).children();
var array = [];
var i = 0;
$.each(children, function(key, value){
array.push($(this).text());
});
3bygqnnd

3bygqnnd6#

接受的答案实际上没有回答问题,OP想要firstChild文本

['one', 'one one', 'one two']

但接受的答案给予textContent

['one\n\none one\none two', 'one one', 'one two']

有两种方法来回答,第一种使用jQuery contents()
第一次
第二种方法是使用普通的js firstChild
第一个

pwuypxnk

pwuypxnk7#

这会完成工作,而不考虑标记名称。请选择您的父项。
它提供一个字符串数组,父级及其子级没有重复项。

$('parent')
.find(":not(iframe)")
.addBack()
.contents()
.filter(function() {return this.nodeType == 3;})
.map((i,v) => $(v).text())

相关问题