<header> <footer> <nav> <section> <aside> <article> <video> <audio> <canvas>
複製代碼
<input type="email">
複製代碼
<input type="url">
複製代碼
numberhtml
number類型html5
max 最大值jquery
min 最小值web
step 步數canvas
<input type="number" max="10" min="1" step="3" value="5">
複製代碼
<input type="range" min="1" max="10" step="3">
複製代碼
Date pickers (date, month, week, time, datetime, datetime-local)數組
date - 選取日、月、年瀏覽器
month - 選取月、年緩存
week - 選取周和年bash
time - 選取時間(小時和分鐘)cookie
datetime - 選取時間、日、月、年(UTC 時間)
datetime-local - 選取時間、日、月、年(本地時間)
<input type="datetime-local">
複製代碼
<input type="search">
複製代碼
<input type="color">
複製代碼
<input type="tel">
複製代碼
<input type="url" list="url_list" name="link" />
<datalist id="url_list">
<option label="W3School" value="http://www.W3School.com.cn" />
<option label="Google" value="http://www.google.com" />
<option label="Microsoft" value="http://www.microsoft.com" />
</datalist>
複製代碼
Webpage:
multiple 規定輸入域中可選擇多個值。
file 上傳文件
<input type="file" multiple="multiple" accept="image/png">
複製代碼
音頻
格式 mp3 ogg wav
controls 播放空間
autoplay 自動播放 (safari支持)
<audio controls src="./music.mp3" autoplay></audio>
複製代碼
視頻
格式 mp4 ogg webm
loop 循環播放
autoplay 自動播放
<audio controls="controls" autoplay>
<source src="http://file.52lishi.com/file/yinxiao/f-18-8-10-18.mp3" type="audio/mpeg">
</audio>
複製代碼
defer 先加載dom 同時加載js dom加載完成後執行js
<script src="../jquery/jquery-1.11.3.js" defer></script>
複製代碼
async 先加載dom 同時加載js 加載完成後執行js 加載剩餘的dom
<script src="../jquery/jquery-1.11.3.js" async></script>
複製代碼
querySelector
查找知足條件的第一個元素 返回一個dom對象
querySelectorAll
查找全部符合條件的元素 返回一個類數組
dataset 設置一個屬性
data-xxx data-src
在js裏經過 oDiv.dataset.xxx = xxx
獲取 dataset設置的屬性
oDiv.dataset.xxx
oDiv.dataset
返回的是一個對象
在js裏獲取屬性 oP.dataset.item-key => itemKey
dataset 應用個實例 - 圖片懶加載
src 存放一個質量較小的圖片
data-src 存放真正的圖片
當元素進入到可視區域的時候 獲取data-src裏內容賦值給src
<img src="" data-src="" alt="">
複製代碼
JSON.parse //字符串轉對象
JSON.stringify //對象轉字符串
複製代碼
var p = {
name: 'xw',
weight: '123kg'
}
var person = '{name: "xw", weight: "123kg"}'
var p1 = JSON.stringify(p)
var p2 = JSON.parse(p1);
var p3 = JSON.stringify(p);
p3 = JSON.parse(p3);
//改變p 其餘不會改變
p.name = 'wxc';
複製代碼
//深度拷貝
function deepClone(obj){
// 判斷數組仍是對象
var objClone = Array.isArray(obj) ? [] : {};
// 對象
if(obj && typeof obj === "object"){
// 遍歷
for(key in obj){
// 遞歸
if(obj[key] && typeof obj[key] === "object"){
objClone [key] = deepClone(obj[key]);
}else{
//簡單複製
objClone[key] = obj[key];
}
}
}else{
//是基本數據類型時
objClone = obj;
}
return objClone;
}
複製代碼
可存數據大小爲5M 會永久的存儲在瀏覽器中 除非手動刪除
設置
localStorage.key = value
localStorage.setItem(key, value)
獲取
localStorage.key
localStorage.getItem(key)
localStorage.name = 'zs';
localStorage.setItem('age', 18)
console.log(localStorage.name)
console.log(localStorage.getItem('name'));
複製代碼
可存儲的大小爲5M 瀏覽器窗口關閉以後就沒了,sessionStorage 返回一個對象
sessionStorage.weight = '123kg';
sessionStorage.setItem('height', '170cm');
複製代碼
console.log(sessionStorage);
console.log(sessionStorage.weight);
console.log(sessionStorage.getItem('height'))
複製代碼
if(getCookie(isNew)){
} else {
setCookie('isNew', 'true', '300');
}
複製代碼
cookie 存儲大小爲4K 能夠設置過時時間,若是不設置關閉瀏覽器窗口就沒了,cookie設置是一個字符
document.cookie = 'name=wxc';
var date = new Date();
date.setDate(date.getDate()+ 1);
//toUTCString 日期對象轉字符串
//expires 過時時間
document.cookie = 'text=111;expires=' + date.toUTCString();
複製代碼
// 設置cookie
function setCookie(key, value, expires ) {
var date = new Date();
date.setDate(date.getDate() + expires*1);
document.cookie = key + '=' + value + ';expires=' + date.toUTCString();
}
複製代碼
// 獲取cookie
function getCookie(key) {
var tmp = document.cookie; //'name=wxc; text=111'
tmp = tmp.split(';'); // ["name=wxc", " text=111"]
for(var i=0; i<tmp.length; i++) {
var arr = tmp[i].split('=') // [' name','wxc']
// trim() 刪除字符串前面或後面的空格
if (arr[0].trim() == key ) {
return arr[1];
}
}
}
複製代碼
// 刪除cookie
function deleteCookie(key){
var date = new Date();
//過時日期爲前一天
date.setDate(date.getDate() - 1);
document.cookie = key + '=null;expires=' + date.toUTCString();
}
setCookie('text2', 'aaa', '3');
deleteCookie('text2');
複製代碼