日期:2014-05-17 浏览次数:20902 次
$("body").append("<div style=\"top:expression("+ documentElement.scrollTop+documentElement.clientHeight+ ");\"></div>");
------解决方案--------------------
lz,那不用转义了
$("body").append("<div style=‘top:expression(documentElement.scrollTop+documentElement.clientHeight);’></div>"); 这个我之前有写过,没问题,ok!
------解决方案--------------------
我昨天告诉你之前,已经试过,直接documentElement.scrollTop不行,找不到这个对象,必须给加上document.documentElement.scrollTop,但还不行,输出了document.documentElement.scrollTop+后面那个,看一下,是0.无论在BODY内加什么内容,始终是0.但如果直接改成0,倒也可以.但这没什么意义.所以告诉你如果是300那样的值就行了.
现在又给你改了一下.原因虽然没时间找官方资料,但可以猜测,在expression里可以用其它一些属性,但好像没法用document.documentElement.scrollTop.否则,也没什么说得过去的解释.
<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var v=document.documentElement.scrollTop+document.documentElement.clientHeight; $("body").append("<div style=\"position:absolute;background:red;top:expression("+v+");\">dddddd</div>"); alert("重设一下"); v=200; $("body").append("<div style=\"position:absolute;background:red;top:expression("+v+");\">dddddd</div>"); } ); </script> <body> ss <div id="aa">jj</div> </body>
------解决方案--------------------
你原来的没有position:absolute;表现不一样.第一个按你原来的.第二个我又添加一个有位置移动的.
你下面发的那堆,我没看.你先看了我这个,有问题说明白点,我再看看.
<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var v=document.documentElement.scrollTop+document.documentElement.clientHeight; $("body").append("<div style=\"background:red;top:expression("+v+");\">dddddd</div>"); alert("重设一下"); v=200; $("body").append("<div style=\"position:absolute;background:red;top:expression("+v+");\">dddddd</div>"); } ); </script> <body> ss <div id="aa">jj</div> </body>
------解决方案--------------------
expression 这个根本不是W3C的语法,建议弃用
------解决方案--------------------
top:expression(documentElement.scrollTop+documentElement.clientHeight);
JQ不是这么用的,先建立对象,再赋值$.CSS()属性;JQ是跨浏览器的,这种写法如果成立也只支持IE。