我的结构设置如下:
<div id="container">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
在某些时候,我想在容器中添加更多“孩子”。
$("#container").prepend('<div class="child"></div>');
除Firefox外,所有浏览器均可正常使用。 Firefox 追加新孩子。因此,由于在页面加载时使用相同的代码,因此子项实际上是颠倒的。
我尝试过使用.innerHTML,.before(),使用.html(child + old_html)等等所有内容,但我不能让我的生活让Firefox正确地添加html。
如果有人可以帮我解决这个问题,请提前致谢。
编辑:添加缺失“
答案 0 :(得分:2)
您的选择器字符串未关闭:
改变这个:
$("#container).prepend('<div class="child"></div>');
要:
$("#container").prepend('<div class="child"></div>');
答案 1 :(得分:0)
经过一些研究,看来prepend()没有错,但Firefox实际上在json中反转了我的键。为了说明发生的事情,我的json看起来像这样:
{"shouts":[
"12"{<some data concerning id=12 here>},
"11"{<some data concerning id=11 here>},
"10"{<some data concerning id=10 here>},
etc ]}
Chrome和所有其他浏览器在循环中颠倒了这个顺序,因为他们可能将“12”,“11”和“10”作为数组中的键。在循环时,这将产生10,11和12.但是Firefox没有这样做,这导致了逆转。
解决方法是从json中删除ID(这使得行为统一,即所有浏览器现在以相反的顺序显示它),然后再次为json反转顺序,这将生成:
{"shouts":[
{<some data concerning id=10 here>},
{<some data concerning id=11 here>},
{<some data concerning id=12 here>},
etc ]}
解决了这个问题! (现在可以从example.php中看到。)感谢大家的帮助。