【发布时间】:2014-10-02 23:19:52
【问题描述】:
今天我正在编码,我尝试了使用 while 循环和 jQuery .replaceWith 但循环从未停止过,我不知道为什么。
这是我的html代码:
<div class="x"></div><div class="x"></div><div class="x"></div>
这是我的 javascript 代码:
while($(".x").length !== 0) {
$(".x:nth-child(1)").replaceWith('<div id="x"></div>');
}
这段代码冻结了浏览器,但我不知道为什么。
我也试过这个:
while($(".x").length !== 0) {
$(".x:nth-child(1)").remove();
}
这行得通。
我想做的是用.x类替换所有元素<div id="x"></div>
知道我的代码出了什么问题吗?
【问题讨论】:
-
ID 必须是唯一的,是否要使文档无效?
-
在
replacewith循环中永远不会退出 -
$(".x:nth-child(1)")只会找到第一个<div class="x"></div>(使用您的 HTML),因此在第一次替换之后,.length将始终为 2(显然是!== 0)
标签: javascript jquery html while-loop