【发布时间】:2017-08-21 17:21:10
【问题描述】:
我有下面的sn-p。
如果您运行 sn-p,您可以看到输出是正确的,但我需要将每个 span 的文本元素存储在一个变量中以便进一步处理。如果可能的话,我更喜欢没有递归函数的解决方案。
$(document).ready(function () {
$('li').click(function (e) {
let fo; let foo; let fooo;
$(e.currentTarget).children('span').each(function() {
console.log($(this).text());
// Expected Output
// fo = li1(2) +span1
// foo = li1(2) +span2
// fooo = li1(2) +span3
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<ul>
<li>
<span style="display: block;">li1 + span1</span>
<span style="display: block;">li1 + span2</span>
<span style="display: block;">li1 + span3</span>
</li>
<li>
<span style="display: block;">li2 + span1</span>
<span style="display: block;">li2 + span2</span>
<span style="display: block;">li3 + span3</span>
</li>
</ul>
</div>
【问题讨论】:
-
你不应该使用 jQuery each 循环,因为它很慢。如果你想使用循环,你应该使用原生 JavaScript 循环,它大约快十倍。
-
谢谢,这很有趣!
标签: javascript jquery list each