jquery
2016-12-25 231 views 2 likes 
2

特定的div我有这样的元素:内容加载到jQuery中

<div data-load-module="list-users"></div> 

而且这个JS加载特定的模块:

if($('[data-load-module]').length) { 
    var datas = $('[data-load-module]').attr('data-load-module'); 

    var url = 'assets/php/ajax/' + datas + '.php'; 

    $(this).load(url, function() { 
     ... 
    }); 
} 

$(this).load()不加载我的模块。我不想添加id或其他class

如何指定我希望将内容加载到this div中?

感谢。

+0

我觉得我提到的'div'? –

+0

'$(this)'不是指div,它是窗口 –

回答

1

在你的代码中this没有引用div元素,通常它可能指的是window对象。


如果您想将内容加载到同一个div中,请将选择器缓存到变量中并使用它。

var $div = $('[data-load-module]'); 
if($div.length) { 
    var datas = $div.attr('data-load-module');  
    var url = 'assets/php/ajax/' + datas + '.php';  
    $div.load(url); 
} 

在情况下,有多个div然后使用each()方法来遍历它们和回调使用this指在元件内部。

$('[data-load-module]').each(function(){ 
    var datas = $(this).attr('data-load-module');  
    var url = 'assets/php/ajax/' + datas + '.php';  
    $(this).load(url); 
}) 
0
$('.data-load-module').each(function(i) { 
    $(this).load(...) 
}); 

提供.data-load-module是你的课,那么你可以通过这种方式引用这个类的div。否则this不会引用您的代码中的任何内容。

相关问题