jquery初始化

jQuery1.2.1架构分析----jQuery对象的创建(1)

    让我们先看一个最简单的情况:在无上下文环境下根据对象id创建对象$(#id)的过程
    首先,让我们先看一个在jQuery初始化过程中就定义的正则表达式
var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;
    这个表达式将匹配两种类型的字符串
1.包含<.|\s>但前后都以字符串开头和结尾的字符串
2.以#开头后跟id的字符串
假设quickExpr.exec匹配结果为数组m(如果无法匹配字符串,则结果为null。#id会匹配第二种情况)
m[0]为匹配到的字符;
m[1]为<>和其中包含的字符串
m[2]为<>中的第一字符
m[3]为id(去除了#号)
jQuery对象的创建过程如下:
1.创建jQuery对象
2.调用jQuery对象的init方法
2.1正则表达式quickExpr的匹配运算
2.2根据m[3]的值查找对象:var tmp=getElementById(m[3])
2.3将查找到的对象保存到jQuery对象:this[0]=tmp;this.length=1
2.4返回jQuery对象

jQuery 页面加载初始化常用的方法有三种,且在页面加载时都会执行脚本,主要看个人习惯。以下进行详细介绍及示例展示: 1. **第一种方法**:使用 `$(document).ready()` 函数。此函数会在文档的 DOM 完全加载后执行传入的回调函数。 ```javascript <script type="text/javascript" src="./js/jquery-1.7.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ trace("初始化方法进入"); }); function trace(obj){ console.log(obj); } </script> ``` 2. **第二种方法**:使用 `$(function(){})` 这种简洁的语法糖形式,它和 `$(document).ready()` 功能相同,只是写法更简洁。 ```javascript <script type="text/javascript"> $(function(){ trace("初始化方法进入二"); }); function trace(obj){ console.log(obj); } </script> ``` 3. **第三种方法**:使用 `jQuery(function($){})`,当需要避免 `$` 符号冲突时可使用这种方式,`$` 作为参数传入回调函数,在函数内部可使用 `$` 来调用 jQuery 方法。 ```javascript <script type="text/javascript" src="./js/jquery-1.7.min.js"></script> <script type="text/javascript"> jQuery(function($){ trace("初始化方法进入三"); }); function trace(obj){ console.log(obj); } </script> ``` 此外,若不使用 jQuery,页面初始化的方法有: 1. 在 `body` 标签里写 `onload` 属性。 ```html <body onload="initFunction()"> <!-- 页面内容 --> </body> <script> function initFunction() { // 要初始化的东西 } </script> ``` 2. 在脚本里写 `window.onload` 函数。 ```javascript window.onload = function() { // 要初始化的东西 } ``` 当 jQuery 的 `$` 符号和其他组件(如 DWR)冲突时,可使用 `jQuery.noConflict()` 方法解决。 ```javascript var j = jQuery.noConflict(); j(function(){ // 使用 j 来代替 $ 进行操作 j("body").css("background-color", "red"); }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值