jQuery addClass()方法无效 但放在$(function(){....})里面和 将代码放在文档末尾又有效 请问问什么?

<%@pagelanguage="java"pageEncoding="GB2312"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01T... <%@ page language="java" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>123</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<style type="text/css">
.drag{width:100px;height:200px;background:red}
</style>
<script type="text/javascript" src="jquery.js"></script>
</head>
<script type="text/javascript">
$("div").addClass("drag");
</script>
<body>
<div></div>
</body>
</html>
调用下面这段代码时 直接$("div").say(); 就可以不用放在$(function(){...})里面 也不用放在文档末尾 为什么?
(function($){
$.fn.extend({
say:function(){
alert("----");
}
});

})(jQuery);
展开
 我来答
lifei6671
推荐于2017-12-15 · TA获得超过9228个赞
知道大有可为答主
回答量:3899
采纳率:25%
帮助的人:2766万
展开全部
和明显,你如果没加入到末尾或是$里面是随着文档流加载,来顺序执行的.
那么,当你的页面还没加载完毕的时候,你的DIV是没有完全显现除了,也就是说文档的DOM树没有加在完毕.
所以你的代码才不会生效!
追问
刚刚补充了一下 请看看  谢谢
追答
和明显,你的$("div").addClass("drag");和$("div").say(); 是两个不同的需求.
一个需要文档的DOM,另一个不需要.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式