我有这个元素:
<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 :(得分: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);
})
答案 1 :(得分:0)
$('.data-load-module').each(function(i) {
$(this).load(...)
});
提供.data-load-module
是您的课程,然后您可以通过这种方式引用此课程中的div。否则this
不会引用代码中的任何内容。