jQuery document.ready 没有前置
Posted
技术标签:
【中文标题】jQuery document.ready 没有前置【英文标题】:jQuery document.ready not prepending 【发布时间】:2014-09-15 05:55:29 【问题描述】:我注意到 document.ready 没有添加 <div>
标记。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
var shadow = $('<div id="shadowElem"></div>');
var speed = 1000;
$(document).ready(function()
$('body').prepend(shadow);
(jQuery));
</script>
- 在控制台中,没有错误。
现在真是令人沮丧,任何帮助都将不胜感激。
~Dipak G.
【问题讨论】:
@EhsanSajjad 刚试过。不工作:( 您在我的浏览器中运行良好的相同代码是working link 【参考方案1】:试试这个:-
var shadow = jQuery('<div id="shadowElem"></div>');
jQuery(document).ready(function()
jQuery('body').prepend(shadow);
);
更多信息请查看This链接
【讨论】:
这成功了。但是,如果您检查 success-insights.co.uk ,它会显示弹出窗口,但仍然会出现背景中的一些元素( awesomescreenshot.com/0743hitw93 )。有什么想法吗?谢谢老兄。 @DipakG。将 z-index:9999 给 css 类#shadowElem
太棒了。非常感谢。
@DipakG。很高兴为您提供帮助:)【参考方案2】:
我想问题出在 document.ready() 中。 试试这个:
$(function()
$('body').prepend('<div id="shadowElem">Test</div>');
);
【讨论】:
prepend() 方法在被选元素的开头插入指定的内容。它不会在body标签之前添加元素! @andrey.shedko 您的代码有效,但您在 P.S. 中提供的信息。是不正确的。通过更改为 prepend() 在开发人员工具中检查您的工作代码,它会显示在 body 标记中添加的 div。 @VaibhavKatole。我会删除 P.S.为了不混淆任何人。 @andrey.shedko 没关系 :)【参考方案3】:我会调查与prototype.js 和jQuery 的冲突。您可能需要尝试 jQuery.noConflict(); 我建议使用一个库而不是两者。当然,根据我在您的链接上看到的内容,您将需要使用 jquery 灯箱。
【讨论】:
以上是关于jQuery document.ready 没有前置的主要内容,如果未能解决你的问题,请参考以下文章
如果 jQuery 不可用,有没有办法检查 document.ready() ? [复制]
如何在没有 JQuery 的情况下模仿跨浏览器 $(document).ready() 行为 [重复]
什么时候应该使用 jQuery 的 document.ready 函数?
jQuery:强制执行 document.ready() 调用的顺序