我是否需要为Dom操作使用就绪事件?

cra*_*ove 0 html jquery dom

我想知道 - 我是否需要$(document).ready()在jQuery中使用就绪事件来进行DOM操作.例如,我有一个javascript函数:

function handler(input,id) {        
    $(document).ready(function(){
        document.getElementById(input).value = id;
        document.search_form.submit();  
    });

}
Run Code Online (Sandbox Code Playgroud)

Rya*_*nal 6

不,上帝没有.不要那样做.$(document).ready()永远不应该在一个功能内.


Bla*_*ger 5

不,这是没有必要的.您可以在</body>标记之前将JavaScript放在文档的最末尾.

您也可以使用该window.onload事件,虽然我不推荐它,因为直到所有图像加载后才会触发,这可能是在加载DOM之后的很长时间.

但是,这三种方法中的一种是最好的想法,因为在这些元素完全加载到浏览器之前,您无法使用JavaScript来操作DOM元素.

也就是说,可能没有充分的理由放入$(document).ready另一个功能.几乎在所有情况下,您都希望$(document).ready包围其他JavaScript代码.