使用jQuery清除动态加载元素的innerHTML

Aus*_*est 0 html javascript ajax jquery

我读过的所有内容都更多地引用了使用.live(),. on(),. bind(),. delegate()等添加的事件处理程序.

我之前问了一个可能没有正确反映的问题,所以我投票删去那个问题然后重新问一个更简单的问题,我相信其余部分可以做.

有没有办法清除带有预定义类的HTML元素的innerhtml,包括通过AJAX动态加载的类等.

所以每次ajax调用都会出现

<div class="triggerElement">something here...</div>
Run Code Online (Sandbox Code Playgroud)

或类似的页面,我需要它被清空.我想我已正确解释过了.如果没有,请告诉我.

编辑

似乎很混乱..empty和其他喜欢它的人都行不通.如果你打电话

$(".omButton").empty();
Run Code Online (Sandbox Code Playgroud)

从索引,然后一些其他模块稍后通过AJAX加载同一个类,它不会清空.如果我首先在页面上有元素,然后调用它,是的它将工作....

我需要一些基于.live或.delegate的东西,这些东西适用于事后加载的任何内容,因为我已经尝试过.empty和.html,并且既不适用于加载AJAX的内容.

不知道怎么解释这个.以为这很简单.抱歉!

编辑2 ...

index包含空函数

$(function(){
    $('.omButton').empty();
    $ajax... to load "loadedContent"
});

<div class="omButton"></div>
<div id="loadedContent"></div>
Run Code Online (Sandbox Code Playgroud)

ajax回归

json_encode(array('test' => '<div class="omButton">Button Text</div>'));
Run Code Online (Sandbox Code Playgroud)

所以现在索引上的HTML是

<div id="loadedContent"><div class="omButton">Button Text</div></div>
Run Code Online (Sandbox Code Playgroud)

但是,由于加载页面时内部div不存在,因此.empty不会影响它.我需要一些我可以放在页面上的负载"监视"它的任何出现(静态或动态)并清空它.

希望这有帮助吗?

ᾠῗᵲ*_*ᵲᄐᶌ 5

尝试使用$ .ajaxComplete() - 因为这是在每个ajax请求完成后触发的

$('body').ajaxComplete(function() {
  $('.triggerElement').empty();
});
Run Code Online (Sandbox Code Playgroud)