我使用children.length来确定一个div是否包含另一个div。
当在JavaScript数组函数中使用时,children.length返回不正确的值。
在下面的例子中,我希望两个值都是“1”。
但是,javascriptmap函数返回“”
为什么这行不通?
let outerdiv = $(".outerdiv");
$("#first").text(outerdiv.first().children("div").length);
$("#second").text(outerdiv.map( o => $(o).children("div").length)[0]);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="outerdiv">
<div class="innerdiv">
</div>
</div>
outerdiv.first().children("div").length = <span id="first"></span>
<p>
outerdiv.map( o => $(o).children("div").length = <span id="second"></span>
1条答案
按热度按时间gab6jxml1#
传递给
map
回调函数的第一个参数是索引,而不是元素,后者是第二个参数。