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() 调用的顺序

jQuery document.ready 不会被 Android 的第二个屏幕触发

jquery怎么判断页面加载完全