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

Put all text of elements in array jQuery

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

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

您可以使用 map() 代替获取数组并使用 :has 选择器过滤适用的 <li>

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>