创建后修改div

时间:2015-09-18 19:40:42

标签: javascript jquery events

我有一个带菜单的php页面。

菜单中的一个项目调用另一个php,它返回一个填充了数据的div元素,插入到前一页(用户已经看到)中。

我尝试在加载后使用JavaScript修改此div内容。但是,我无法实现它。

我尝试使用ready()方法,但由于它在加载后随机发生,因此该方法无法正常工作。

我还尝试使用我发现的load()方法,该方法似乎在项目完全加载后触发,但我也没有完成。这就像是:

$( "#overlay #overlay_text div #panes div #tableInOverlay" ).load(function() {

  alert("The table has been loaded");  

});

我怎样才能实现它?

提前谢谢

编辑:为了试图说清楚

用户访问网页(文件1) - >用户点击(文件1)菜单 - >调用文件2,它创建一个带有div元素的响应 - > (文件1)获取响应,并将其插入HTML代码中,以便显示新的div。

然后,此时,我需要(文件1)修改刚收到的div。

2 个答案:

答案 0 :(得分:1)

插入,修改或删除元素时,不会触发任何html事件。

可能的解决方案:

1-在回调中触发自己:

$('#myDiv').load('url', function(){
    $('#myDiv').trigger('foohappened')
});

$('#myDiv').on('foohappened', function(){
    // modify content
});

注意:myDiv是页面上的元素,而不是通过ajax加载的元素

2-插入前更改数据

$.ajax({
    success: function(data){
        var loadedElement = $.parseHTML(data);
        var modifiedContent = modifyContent(loadedElements);
        $('#myDiv').insert(modifiedContent);
    }
})

答案 1 :(得分:0)

你能试试吗?

$(window).load( function() {
    // YOUR CODE HERE
});

另外,如果您知道延迟的数量,可以使用setTimeout()推迟函数