将元素的所有文本放入数组jQuery中

Posted

技术标签:

【中文标题】将元素的所有文本放入数组jQuery中【英文标题】:Put all text of elements in array jQuery 【发布时间】:2019-11-25 04:37:08 【问题描述】:

如果input 具有class 活动,我将获得所有<li> 元素中的.text()。它console.log 就像这样,例如下面的那些有类活动。

Example 1
Example 3
Example 5

但是当我将它放在 variable 中以打印它时,它只会打印: Example 5

我希望它像在 console.log 中一样打印它。

$("li").each(function () 
  if ($(this).find("input").hasClass("actief")) 
    content = $(this).find("span.titel").text();
    console.log(content);
  
);

console.log(content);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li><span class="titel">Example 1</span><input class="actief" /></li>
<li><span class="titel">Example 2</span><input/></li>
<li><span class="titel">Example 3</span><input class="actief" /></li>
<li><span class="titel">Example 4</span><input/></li>
<li><span class="titel">Example 5</span><input class="actief" /></li>
</ul>

我希望第二个console.log(); 不仅打印Example 5,还打印这个:

Example 1
Example 3
Example 5

【问题讨论】:

您应该在循环外声明该变量并继续向其附加数据。 请创建一个最小、具体且可验证的示例。根据您的代码,我根本无法重现您的问题:jsfiddle.net/teddyrised/bur0j8e2 问题是我不知道怎么做哈哈 嗨,我为你做了一个 jsfiddle。您在第一个 console.log(); 中看到它是正确的,因为它在循环中。在第二个console.log(); 中,我想在一个console.log(); jsfiddle.net/zhgyakrs/1 【参考方案1】:

您可以改用map() 来获取数组并使用:has 选择器过滤适用的&lt;li&gt;

var textArray = $("li:has(.actief) span.titel").map(function () 
  return $(this).text();      
).get();

console.log(textArray);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li><span class="titel">Example 1</span><input class="actief" /></li>
<li><span class="titel">Example 2</span><input/></li>
<li><span class="titel">Example 3</span><input class="actief" /></li>
<li><span class="titel">Example 4</span><input/></li>
<li><span class="titel">Example 5</span><input class="actief" /></li>
</ul>

【讨论】:

以上是关于将元素的所有文本放入数组jQuery中的主要内容,如果未能解决你的问题,请参考以下文章

使用键事件和 jquery 将文本放入输入元素

如何使用Jquery将具有某个类的所有元素的内容放入一个变量中

无法将嵌套的表输入元素放入jQuery数组中

For循环将列表的所有元素放入不同的文本文件中,而不是在python中遍历每个元素

将jquery选择器的属性放入数组

我想将数组的内容放入 h3 元素中,然后将其放入其容器中