在ajax之后加载元素之后选择一个DOM元素

时间:2018-06-24 10:34:41

标签: javascript

假设我需要选择.my-class,但是在DOM元素中还没有,它将在完成dom加载后由ajax加载。

现在的问题是,加载后如何使它工作。

var class = jQuery('.my-class');如果在document ready function中调用,将不起作用。

如何选择它?

  

我不想触摸ajax函数。我想从另一个js文件中完成

2 个答案:

答案 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');
    }
}