1

我正在使用 jQuery .load() 加载内容,在添加的内容中是一些数据属性,我想从中获取值以传递给另一个函数。

.load() 代码是:

url += ' #post';    

$("#modal_base #modal_inner").load(url , function(response, status, xhr) {
    if (status == "error") {
        var msg = "Sorry but there was an error: ";
        $('#error').appendTo( '#modal_inner' );
        $("#error").html(msg + xhr.status + " " + xhr.statusText);
    }
});

加载内容后,数据属性就在#modal_base #modal_inner #post其中。我认为该元素没有事件,我需要以某种方式将委托的事件处理程序附加到文档元素。

对我来说获得data-pag-nextdata-pag-next价值的最佳方式是什么?

4

1 回答 1

3

一旦检索到的complete页面的元素已加载到目标元素中并且 DOM 更新后,回调将触发,因此您只需查找它:

$("#modal_base #modal_inner").load(url , function(response, status, xhr) {
    if (status == "error") {
        var msg = "Sorry but there was an error: ";
        $('#error').appendTo( '#modal_inner' );
        $("#error").html(msg + xhr.status + " " + xhr.statusText);
    } else {
        alert( $(this).find('#post').attr('data-pag-next');
        alert( $(this).find('#post').data('pag-next') ); //If using jQuery 1.4.3+
        //examples of getting the data out
        window.yourvar = $(this).find('#post').data('pag-next'); //you can access window.yourvar anywhere in your code outside .load()
        some_function_of_your( $(this).find('#post').data('pag-next') );//pass the value to some function defined by you in the global scope
    }
});
于 2012-11-01T11:27:32.007 回答