Last active
December 29, 2015 12:28
-
-
Save markyun/7670242 to your computer and use it in GitHub Desktop.
原生js的写法Demo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//1———————原生js的写法——— | |
// document.getElementsByClassName("btn") | |
// document.getElementById("btn") | |
// document.getElementsByTagName('div') 查找 | |
//原生js在获取dom元素时,除了document.getElementById()外,其他的方式都会得到一个数组。然后用for循环遍历这个数组的时候,如果对数组里面的元素进行的操作是查找时候的条件或者是删除了这个dom元素,那么这个元素会从数组里面自动移除掉。 | |
window.onload = function() { | |
document.getElementById("btn").onclick = function() { | |
Test(); | |
} | |
}; | |
function Test() { | |
alert("1231313"); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
JavaScript原生API
http://docs.webplatform.org/wiki/dom
//选择元素
// jQuery
var els = $('.el');
// Native
var els = document.querySelectorAll('.el');
// Shorthand
var $ = function (el) {
return document.querySelectorAll(el);
}
var els = $('.el');
// Or use regex-based micro-selector lib
// http://jsperf.com/micro-selector-libraries
//创建元素
// jQuery
var newEl = $('
// Native
var newEl = document.createElement('div');
Add event listener
// jQuery
$('.el').on('event', function() {
});
// Native
[].forEach.call(document.querySelectorAll('.el'), function (el) {
el.addEventListener('event', function() {
}, false);
});
//Set/get属性
// jQuery
$('.el').filter(':first').attr('key', 'value');
$('.el').filter(':first').attr('key');
// Native
document.querySelector('.el').setAttribute('key', 'value');
document.querySelector('.el').getAttribute('key');
Add/remove/toggle class
// jQuery
$('.el').addClass('class');
$('.el').removeClass('class');
$('.el').toggleClass('class');
// Native
document.querySelector('.el').classList.add('class');
document.querySelector('.el').classList.remove('class');
document.querySelector('.el').classList.toggle('class');
//
// jQuery
$('.el').append($('
// Native
document.querySelector('.el').appendChild(document.createElement('div'));
//克隆
// jQuery
var clonedEl = $('.el').clone();
// Native
var clonedEl = document.querySelector('.el').cloneNode(true);
//移除
// jQuery
$('.el').remove();
// Native
remove('.el');
function remove(el) {
var toRemove = document.querySelector(el);
toRemove.parentNode.removeChild(toRemove);
}
//父元素
// jQuery
$('.el').parent();
// Native
document.querySelector('.el').parentNode;
Prev/next element
// jQuery
$('.el').prev();
$('.el').next();
// Native
document.querySelector('.el').previousElementSibling;
document.querySelector('.el').nextElementSibling;
XHR aka AJAX
// jQuery
$.get('url', function (data) {
});
$.post('url', {data: data}, function (data) {
});
// Native
// get
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.onreadystatechange = function (data) {
}
xhr.send();
// post
var xhr = new XMLHttpRequest()
xhr.open('POST', url);
xhr.onreadystatechange = function (data) {
}
xhr.send({data: data});