">
jQuery代码:
$('i').prepend('<div>--New Element--</div>');
JS代码:
var parent = document.querySelector(".container"); var p = document.createElement("p"); parent.prepend("Some text", p);
注意这个方法目前还是实验阶段,可能你的浏览器并不支持需要使用polyfill来使得浏览器支持
jQuery代码:
$('i').remove();
JS代码:
elem.remove();
jQuery代码:
$elem.before($someOtherElem);
JS代码:
elem.before(someOtherElem);
jQuery代码:
$elem.replaceWith($someOtherElem);
JS代码:
elem.replaceWith(someOtherElem);
jQuery代码:
$elem.closest("div");
JS代码:
elem.closest("div");
如果想看看浏览器对以上API的支持程度,大家可以使用caniuse来查看jquery风格的DOM操作的支持兼容性情况
jQuery代码:
$elem.fadeIn();
CSS代码:
.thingy { display: none; opacity: 0; transition: .8s; }
JS代码:
elem.style.display = "block"; requestAnimationFrame(() => elem.style.opacity = 1);
jQuery代码
$elem.one("click", someFunc);
JS代码(过去使用的方式)
function dostuff() { alert("some stuff happened"); this.removeEventListener("click", dostuff); } var button = document.querySelector("button"); button.addEventListener("click", dostuff);
JS代码(现代使用的简化版本)
elem.addEventListener('click', someFunc, { once: true, });
或者
elem.addEventListener('click', myClickHandler, { once: true, capture: true });
jQuery
$elem.animate({ width: "20%", opacity: 0.1, marginLeft: "0.6in", fontSize: "3em", borderWidth: "10px" }, 500);
JS
var elem = document.querySelector('.animate-me'); elem.animate([ { transform: 'translateY(-1000px) scaleY(2.5) scaleX(.2)', transformOrigin: '50% 0', filter: 'blur(40px)', opacity: 0 }, { transform: 'translateY(0) scaleY(1) scaleX(1)', transformOrigin: '50% 50%', filter: 'blur(0)', opacity: 1 } ], 1000);
jQuery代码
$.ajax('https://some.url', { success: (data) => { /* do stuff with the data */ } });
JS代码
fetch('https://some.url') .then(response => response.json()) .then(data => { // do stuff with the data });
当然上面有部分JS代码在浏览器中执行的可能并不完整,但是基本所有的javascript都可以找到对应的polyfill来解决相关的兼容性问题,如下:
<script src="https://cdn.polyfill.io/v2/polyfill.min.js"></script>