假设我需要选择.my-class
,但是在DOM元素中还没有,它将在完成dom加载后由ajax加载。
现在的问题是,加载后如何使它工作。
var class = jQuery('.my-class');
如果在document ready function
中调用,将不起作用。
如何选择它?
我不想触摸ajax函数。我想从另一个js文件中完成
答案 0 :(得分:0)
使用父选择器,即
body
或
document
与jQuery.fn.on结合使用(请参见:https://api.jquery.com/on/#on-events-selector-data-handler)
但是最好使用最接近的父选择器,因为最有效的选择是,最接近动态DOM元素的一个DOM元素将不会动态加载。
$(parentSelector).on(event, childSelector, function(){
// whatever you want to do
});
代码如下:
$('.some-parent-class').on('click', '.my-class', function(){
// whatever you want to do
});
答案 1 :(得分:0)
您可以使用简单的setInterval脚本来轮询目标选择器。
var timer = setInterval(timerFunc, 500);
function timerFunc() {
if ($('.my-class').length){
clearInterval(timer);
console.log('exists');
}
}