jq: 1.、鏈式操作$('div').find('h3').eq(2).html('hello'); // .eq(2) 選擇第3個h3元素 2、.end()方法使結果集後退一步; 3、html()沒有參數,表示取出h1的值;html()有參數,表示賦值。取值是獲取一組的第一個元素,賦值是所有元素
jq:
1.、鏈式操作
$('div').find('h3').eq(2).html('hello'); // .eq(2) 選擇第3個h3元素
2、.end()方法使結果集後退一步;
3、html()沒有參數,表示取出h1的值;html()有參數,表示賦值。取值是獲取一組的
第一個元素,賦值是所有元素。
4、元素移形換位
insertAfter()、appendTo()、after()將x加到y後、append()
5.創建元素
var oLi = $('<li>'); oLi.html('hello'); $('ul').append(oLi);
6.工具方法
$.each() jquery遍歷
$('li').each(function(index,elements){}) //第一個參數索引,第二個參數所有獲取的元素
$.trim() 去掉空格
7.事件操作
.bind() .one() .unbind() pageX
8.運動特效
fadeIn() fadeOut() slideDown(秒數) 向下展開
.animater() stop()
◆JS
1、如果一個表達式在代碼中多次出現,可以使用with語句來簡化代碼
例如: with(document.forms[0]){
name.value = "";
address.value = "";
email.value = "";
}
2、debugger在調試程式運行時,用來產生一個斷點。
3、JS解析器原理
alert(a); //未定義
var a = 1;
function fn1(){alert(2);}
瀏覽器 - JS解析器執行步驟:
① “找一些東西”: var function 參數
a = 未定義 -- 所有的變數,在正式運行代碼之前,都提前賦值:未定義;
fn1 = function fn1(){alert(2);}
-- 所有的函數,在正式運行代碼之前,都是整個函數塊;
*JS的預解析
◆遇到重名的:只留一個
◆變數和函數重名了,就只留下函數
② 逐行解讀代碼:
表達式: = +-*參數......
◆表達式可以修改預解析的值
例一:
alert(a); // function a(){alert(4);}
var a=1;
alert(a); // 1
function a(){alert(2);}
alert(a); // 1
var a=3;
alert(a); // 3
function a(){alert(4);}
alert(a); // 3
a(); // 出錯
例二:
var a = 1;
function fn1(){
alert(a); //undefined 局部範圍內找
var a = 2;
}
fn1();
alert(a); //1
③ 當存在多個<script>標簽,一個執行完後,再執行另一個(自上而下)。
4、清空數組
arr.length = 0;
arr = [];
5、數組方法
push(): 向後添加元素
unshift(): 向前添加元素
pop(): 刪除最後一個元素
shift(): 刪除第一個元素
依次換位後移: arr.unshift(arr.pop());
依次換位前移: arr.push(arr.shift());
//刪除、替換、添加
splice()
arr.splice(0,2); 刪除
arr.splice(0,2,'XX') 替換
arr.splice(1,0,'','') 添加
6、sort排序
var arr = [4,5,8,89,3,2,0];
arr.sort(function(a,b){
return a - b; //從小到大,b-a: 從大到小
})
例: var arrWidth = ['345px','23px','10px','1000px'];
arrWidth.sort(function (a,b){
return parseInt(a) - parseInt(b);
});
◇隨機排序
var arr = [1,2,3,4,5,6,7,8];
arr.sort(function(a,b){
return Math.random()-0.5; //值有正有負
})
//Math.random() 0~1
//0~1: Math.round(Math.random());
//0~10: Math.round(Math.random()*10);
//5~10: Math.round(Math.random()*5+5);
//20~100: Math.round(Math.random()*80+20);
//x~y: Math.round(Math.random()*(y-x)+x);
//0~x: Math.round(Math.random()*x);
//1~x: Math.ceil(Math.random()*x);
7.concat、reverse
concat: 將多個數組連在一起;
例:var arr1=[1,2,3];var arr2=[4,5,6];
arr1.concat(arr2);
reverse: 顛倒數組元素位置;
arr1.reverse();
例:var str = 'abcdef'; //遇到字元串,先轉換
str.split('').reverse().join('');
8. JS中允許","替換成"[]"
oDiv.style.width = oVal.value; //.後面的值無法修改
oDiv.style['oAttr.value'] = oVal.value;
9. cssText用來添加css樣式
oDiv.style.cssText = "width:200px;height:200px;";
10. typeof判斷數據類型
11. JS的隱式類型轉換:
+ 200+'3' 變成字元串
-*/% '200'- 3 變成數字
++ -- 變成數字
>< 數字的比較、字元串的比較(比較編碼,按首位判斷)
!取反 把數據類型轉成布爾值
== '2'==2
12. NaN: 不是個數字的數字類型。
一旦程式中出現:NaN 肯定進行了非法的運算操作
NaN與自身也不相等
13.window.history.go(-1);//返回上一頁不刷新
window.location.href = document.referrer;//返回上一頁並刷新
14.delete:刪除對象屬性或者數組元素
var o = {x:1,y:2};
delete o.x;
"x" in o