将参数传递给jQuery ready()的解决方法

时间:2011-09-26 06:16:00

标签: javascript jquery

我在jQuery document.ready()上调用了一些代码,用于多个HTML文件。现在区别在于这些HTML中的每一个都使用不同的div id。 我知道一个选项是只检查$(document).ready()中的hardcode div id。但我想编写一个通用代码,它将基于currrent /调用HTML页面获取div ID?

有没有办法将参数传递给jQuery ready()?

2 个答案:

答案 0 :(得分:2)

$(document).ready()只需要一个函数作为参数,这样你就可以编写一个函数,将你的ID作为参数并返回$(document).ready()的函数。例如,而不是:

$(document).ready(function() {
    $('#some_id').click(/*...*/);
});

你可以这样做:

function make_ready(id) {
    return function() {
        $('#' + id).click(/*...*/);
    };
}

$(document).ready(make_ready('some_id'));

然后,您可以将make_ready放在一些常用位置,并使用它来构建$(document).ready()来电的功能。

答案 1 :(得分:1)

文档就绪只是将处理函数作为参数。 您仍然可以在文档就绪函数中定义通用代码,方法是存储每个html的当前div id。

<input type="hidden" id="current_div" value="div1" />

$(document).ready(function() {  
    var div_id = $('#current_div').val();  
    // generic code  
});