JS、JQuery的一些操作小記

来源:http://www.cnblogs.com/hkhg/archive/2016/01/27/5163661.html
-Advertisement-
Play Games

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 淺析XMLHttpRequest
  • 在javascript中對象是一種基本的數據類型,在數據結構上是一種散列表,可以看作是屬性的無序集合,除了原始值其他一切都是對象。它可以用來表示現實世界中或者我們大腦中抽象出來的客體,這和其他面向對象的編程語言有些類似,但js並不是面向對象的而是基於對象的,因為典型的面向對象要求封裝、繼承和多態,而
  • 效果預覽:http://hovertree.com/texiao/html5/19/本效果適用於移動設備,可以使用手機等瀏覽效果。源碼下載:http://hovertree.com/h/bjaf/mwvn0mxi.htm本實例用到了toggleClass方法,請參考:http://hovertree
  • 由於html5的流行,現在移動端大多數的需求都可以使用audio來播放音頻,但您可能只是需要很簡單的播放/停止效果,但不同的瀏覽器上的audio樣式卻不盡人意,所以我簡單的把它進行了封裝
  • 前言:我們一直在用瀏覽器,你是否真正玩過他?NO! 在IE瀏覽器中,打開一個網頁,右擊菜單欄中有一個查看源代碼功能,不過這個源代碼太長了,不易分析。 之後的瀏覽器增加了一項功能,叫做審查元素功能。 在谷歌瀏覽器中,打開一個網頁,右擊菜單欄中有一項是檢查;在搜狗瀏覽器中,打開一個網頁,右擊菜單欄有一項
  • 很多Web開發人員在忽視正則表達式之後,還可以順利的工作,但很多情況下,一句正確的正則表達式,很有可能省略半屏的代碼。 正則表達式的解釋 術語與操作符 匹配一類字元 釋義 重覆出現 預定義字元類 分組 或操作符 反向引用 編譯正則表達式 捕獲匹配的片段 正則表達式的解釋 在JavaScript中,與
  • 一、包裝對象 原因由於s是一個字元串,在執行第二行中,s.len = 4;;時生成一個臨時對象,臨時對象在執行完之後則被銷毀。故 new String('hello word')和 "hello word"這兩個是有區別的,前者是一個對象,且有原始值,前者的原始值就是後者。
  • js 下拉列表 省 市 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="htt
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...