如果.text()
具有<li>
行为,那么我将获得所有input
个元素中的class
个。当下面的示例中包含类actief时,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
答案 0 :(得分:1)
您可以使用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>