javascript - 将元素的所有文本放入数组jQuery中
问题描述
如果有活动,我会得到.text()
所有<li>
元素。当例如以下具有类活动时,它就像这样。input
class
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
解决方案
您可以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>
推荐阅读
- r - 处理省略号参数中的缺失值......在R中
- java - 是否可以仅使用 JPA/Hibernate-Annotation 从数据库中检索选定的子列表?
- soap - zeep.exceptions.Fault:服务器无法处理请求。---> 对象引用未设置为对象的实例
- javascript - 通过 obj 映射并调度键和状态值
- javascript - 会话和本地存储是否适合内部应用程序?
- c++ - 每次调用来自 FFMPEG 的 AVIO `read_packet()` 回调时,我们是否必须返回完整的缓冲区?
- javascript - 尝试踢自己(机器人)时显示消息
- shell - 如何防止和优化错误的变量名?
- python - python numpy阈值特定值
- javascript - 如何从我的 API 调用中获取数据到变量中以放入我的 HTML