将元素的所有文本放入数组 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>
如果 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>