Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery在删除类属性后在html标记中加载外部页面_Jquery_Load - Fatal编程技术网

jQuery在删除类属性后在html标记中加载外部页面

jQuery在删除类属性后在html标记中加载外部页面,jquery,load,Jquery,Load,我有个问题。在我的主页中,我有以下代码 <script> window.ctrl = <?php echo $ctrl; ?> // this return false or true if (! window.ctrl) { $('.grCtrl').remove() } var le = 'somePage.php'; $('#loadingDiv').load(le); </script> <div id='originalDiv'

我有个问题。在我的主页中,我有以下代码

<script>
window.ctrl = <?php echo $ctrl; ?> // this return false or true  
if (! window.ctrl) { 
   $('.grCtrl').remove() 
}
var le = 'somePage.php';
$('#loadingDiv').load(le);
</script>

<div id='originalDiv'>
   <h3>
      Original div is  
      <span class='grCtrl'>this</span> 
    </h3>
</div>

<div id='loadingDiv'></div>

window.ctrl=//此返回值为false或true
如果(!window.ctrl){
$('.grCtrl').remove()
}
var le='somePage.php';
$('#loadingDiv')。加载(le);
原来的部门是
这
现在是somepage.php:

<div id='somePageDiv'>
    <h3>
      Loaded div is
      <span class='grCtrl'>this</span> 
    </h3>
</div>

加载的div是
这
所以问题在于,在原始div(在主页中)中,remove()方法在#loadingDiv中加载的页面中工作,但不工作

如果有人能解释一下原因,我将不胜感激。 非常感谢。
Leo

我认为这是因为在运行删除操作后正在加载它

试试这个

<script>
window.ctrl = <?php echo $ctrl; ?> // this return false or true  
if (! window.ctrl) { 
   $('.grCtrl').remove() 
}
var le = 'somePage.php';
$('#loadingDiv').load(le, function(){
    if (! window.ctrl) { 
        $('.grCtrl').remove() 
    }
});
</script>

window.ctrl=//此返回值为false或true
如果(!window.ctrl){
$('.grCtrl').remove()
}
var le='somePage.php';
$('#loadingDiv').load(le,function(){
如果(!window.ctrl){
$('.grCtrl').remove()
}
});

那么,您是否希望代码删除尚未加载到DOM中的元素?只需将remove放在加载之后,它就会像您所说的那样工作良好,因为它是动态加载的内容,所以您需要使用事件委派
.on()
.live()
.delegate()
.bind()
…我更喜欢
.on()
,因为其他版本不推荐使用。upss:|。。。我现在明白了:(我太累了。真丢脸!!好吧,我们可以使用事件委派而不是重复相同的代码。谢谢!我接受这个答案,但我使用@Dipesh建议的事件委派。@DipeshParmar你的观点很有说服力,但我们可以看到一个例子吗?