在页面加载后删除div时jQuery冲突

时间:2013-04-01 11:22:43

标签: javascript jquery

我正在尝试从页面中删除div(最好是防止它加载) 但是现在我已经决定在页面加载后删除它。

当我尝试以下代码行in jsFiddle时,#content div会被移除,如预期的那样。

<script type='text/javascript'>//<![CDATA[ 
  $(window).load(function(){
      $('#content').remove();
  });//]]>  
</script>

但是,我也尝试在an actual website上实现它,但在这种情况下,#content div不会被删除。

关于可能出错的任何建议?

8 个答案:

答案 0 :(得分:2)

如果你正在与另一个使用美元进行操作的库共享jQuery,你需要使用匿名包装来防范它:

(function($) {
    $(window).on('load', function(){
        $('#content').remove();
    });
}(jQuery));

请注意,而不是.load()我使用.on('load',fn)。

您可以将您的代码绑定到DOM上,而不是在页面加载上; jQuery将自身作为内部函数的第一个参数传递:

jQuery(function($) {
    $('#content').remove();
});

答案 1 :(得分:1)

由于某种原因,你的$变量并没有指向jQuery。

<script type='text/javascript'>
    window.$ = jQuery;
    $(window).load(function()
    {

        $('#content').remove();
     });
</script>

答案 2 :(得分:0)

使用它:

<script type="text/javascript">
var node = document.getElementById('content'); 
if(node.parentNode)
{ 
node.parentNode.removeChild(node);
}
</script>

希望得到这个帮助。

答案 3 :(得分:0)

试试这个

<script type='text/javascript'> 
    $(document).ready(function(){
         $('#content').remove();
    });
</script>

$(function()
{
        $('#content').remove();
});

答案 4 :(得分:0)

这是因为您拨打$(window).load()时出现javascript错误。

Uncaught TypeError: Object [object global] has no method 'load'

此外,您应该更好地使用document.ready,因为内容将被更快地删除(不需要等待加载所有图片)。

//shorthand for $(document).ready()
$(function(){
    $('#content').remove();
});

答案 5 :(得分:0)

TypeError:$(...)。load不是函数

在新版本的Jquery

中不推荐使用load时,它会给出错误而不是低于1
$(window).load(function(){
});

使用此代码

$(function(){
 // your code here
})

答案 6 :(得分:0)

您正在使用onload进行jQuery测试,

因此您必须在jquery中添加onload语法,在您的站点上该语句未被调用onload,这就是为什么它无法正常工作

我已经更新了小提琴

http://jsfiddle.net/MarmeeK/FRYsJ/3/

<script>标记下的JS代码,无需在页面中添加onload,

<script type="text/javascript">
    $(document).ready(function(){$('#content').remove();});
</script>

这应该有效:)

答案 7 :(得分:0)

jquery冲突的情况。你在页面上也有mootools框架。

我也对页面进行了“查看源代码”,我发现了这一行

$j = jQuery.noConflict();  //line 132

所以试试这个

$j('#content').remove();
Or
jQuery('#content').remove();