用innerHtml向一个div写内容,easyUI就不显示div的样式了。并且IE9也不显示样式,firefox就可以。求大神

这是IE下的,

这是火狐下的。

而且,重点不是这个。我用jquery发送请求,从服务器端获取一部分数据,用json传回来,将数据组装成var a = '
.......
';$(#list).html(a);美工给我静态页面时,在火狐下能正常显示,但是当我用html(a)再写进去时,就像IE一样乱套了。感觉就像easyUI不能给那些div添加样式了。。。我该如何操作?求大神指点。

  尊敬的用户,您好!很高兴为您答疑
  看了一下你的截图,对您所遇到的问题做如下分析。您正确样式下,是通过js+css组合数据后实现的tab分标签展示模式。此样式对代码输出有个要求,就是先加载完数据,再加载css,最后执行js进行样式渲染,其对代码输出顺序敏感。一旦代码输出顺序换乱,就会出现js代码执行完,主对象还未生成等问题,导致undefine异常。而您说您异步获取数据,再加载入对象,此时新载入的数据,只是执行装载操作,并未进行样式渲染,所以显示格局自然是乱的。正确的做法是对新的数据在此执行样式加载操作,且注意此操作对同步异步敏感,一定要设置为异步执行。
  希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-25
innerHtml的内容也能正常遵循CSS定义,这个没有问题。

我觉得你需要从2个方面去考虑,容器是否正确闭合,主要是DIV之类的。
CSS定义对象是否有冲突,或者是否弄错层级关系。本回答被提问者采纳
第2个回答  2013-12-13
  您好!很高兴为您答疑!

  您可以将div2 隐藏,然后再用settimeout显示。
  您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。

...并且IE9也不显示样式,firefox就可以。求大神
您正确样式下,是通过js+css组合数据后实现的tab分标签展示模式。此样式对代码输出有个要求,就是先加载完数据,再加载css,最后执行js进行样式渲染,其对代码输出顺序敏感。一旦代码输出顺序换乱,就会出现js代码执行完,主对象还未生成等问题,导致undefine异常。而您说您异步获取数据,再加载入对象,此时...

相似回答