5

我正在尝试从页面中删除一个 div(最好完全阻止它加载),但现在我决定在页面加载后将其删除。

当我在 jsFiddle 中尝试以下代码行时,#contentdiv 被删除,正如预期的那样。

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

但是,我也尝试在实际网站上实现它,但在这种情况下,#content不会删除 div。

关于可能出现什么问题的任何建议?

4

8 回答 8

2

如果您与另一个使用美元进行操作的库共享 jQuery,您需要像这样使用匿名包装器来防范它:

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

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

除了页面加载,您还可以将代码绑定到准备好的 DOM 上;jQuery 将自己作为第一个参数传递给内部函数:

jQuery(function($) {
    $('#content').remove();
});
于 2013-04-08T03:54:58.433 回答
1

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

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

        $('#content').remove();
     });
</script>
于 2013-04-05T19:04:20.653 回答
0

用这个:

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

希望这有帮助。

于 2013-04-01T11:26:18.730 回答
0

试试这个

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

或者

$(function()
{
        $('#content').remove();
});
于 2013-04-01T11:27:29.877 回答
0

您正在使用带有 onload 的 jQuery 测试,

所以你必须在 jquery 中添加 onload 语法,在你的网站上,该语句没有被称为 onload,这就是为什么它不起作用

我已经更新了小提琴

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

标签下的JS代码<script>,页面中没有添加onload,

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

这应该工作:)

于 2013-04-01T11:36:35.537 回答
0

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

由于在新版本的 Jquery 中不推荐使用负载,因此它给出了高于而不是低于 1 的错误

$(window).load(function(){
});

使用此代码

$(function(){
 // your code here
})
于 2013-04-01T11:34:02.767 回答
0

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

我也做了一个页面的“查看源代码”,我发现了这一行

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

所以试试这个

$j('#content').remove();
Or
jQuery('#content').remove();
于 2013-04-01T14:17:23.080 回答
0

这是因为您在调用$(window).load().

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

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

//shorthand for $(document).ready()
$(function(){
    $('#content').remove();
});
于 2013-04-01T11:28:02.200 回答