关于div和text()的奇怪之处

时间:2013-07-24 19:00:57

标签: javascript jquery jsfiddle

我有四个div,第一个div有东西,后三个是空的。

<div id="simple">Value (Required) - As Is - Office<div>
<div id="simple2"><div>
<div id="simple3"><div>
<div id="simple4"><div>

我得到第一个div的内容将它拆分并将结果放入下一个div中。

var ahtml = $("#simple").html();
alert(ahtml);
var bhtml = ahtml.split("-");
alert(bhtml[0]);
$("#simple2").text(bhtml[0]);
alert(bhtml[1]);
$("#simple3").text(bhtml[1]);
alert(bhtml[2]);
$("#simple4").text(bhtml[2]);

由于某种原因,它无法在JsFiddle&lt; - 链接中工作。最后两个没有被输出,当我得到第一个div的html时,警报真的很奇怪。我忘记了什么吗?有什么想法吗?

3 个答案:

答案 0 :(得分:2)

你没有关闭元素:

<div id="simple">Value (Required) - As Is - Office</div>
<div id="simple2"></div>
<div id="simple3"></div>
<div id="simple4"></div>

更新:http://jsfiddle.net/bcLNm/5/

答案 1 :(得分:1)

可能是因为你缺少每个div的结束标记,即

<div id="simple">Value (Required) - As Is - Office<div>
<div id="simple2"><div>
<div id="simple3"><div>
<div id="simple4"><div>

应该是

<div id="simple">Value (Required) - As Is - Office</div>
<div id="simple2"></div>
<div id="simple3"></div>
<div id="simple4"></div>

这可能会导致jquery中的sizzle引擎中出现各种各样的恶作剧

答案 2 :(得分:1)

你必须关闭你的div。

<div id="simple">Value (Required) - As Is - Office</div>
<div id="simple2"></div>
<div id="simple3"></div>
<div id="simple4"></div>

jsFiddle here