我注意到在监控/尝试回答常见的jQuery问题时,有一些使用javascript而不是jQuery的实践,实际上可以让你写得更少,并做 ...相同的数量.并且还可以产生性能优势.
一个具体的例子
$(this) VS this
在单击事件中引用单击的对象id
jQuery的
$(this).attr("id");
Run Code Online (Sandbox Code Playgroud)
使用Javascript
this.id;
Run Code Online (Sandbox Code Playgroud)
还有其他类似的常见做法吗?可以更轻松地完成某些Javascript操作,而无需将jQuery添加到组合中.或者这是一个罕见的情况?(jQuery"快捷方式"实际上需要更多代码)
编辑:虽然我很欣赏有关jQuery与普通javascript性能的答案,但实际上我正在寻找更多的定量答案. 在使用jQuery时,实际上可以更好地使用普通javascript代替使用的实例(可读性/紧凑性)$().除了我在原始问题中给出的例子.
想解释之间有什么区别的offsetHeight,clientHeight和scrollHeight或offsetWidth,clientWidth和scrollWidth?
在客户端工作之前必须知道这种差异.否则他们的一半生命将用于修复UI.
小提琴或下面的内联:
function whatis(propType) {
var mainDiv = document.getElementById("MainDIV");
if (window.sampleDiv == null) {
var div = document.createElement("div");
window.sampleDiv = div;
}
div = window.sampleDiv;
var propTypeWidth = propType.toLowerCase() + "Width";
var propTypeHeight = propType + "Height";
var computedStyle = window.getComputedStyle(mainDiv, null);
var borderLeftWidth = computedStyle.getPropertyValue("border-left-width");
var borderTopWidth = computedStyle.getPropertyValue("border-top-width");
div.style.position = "absolute";
div.style.left = mainDiv.offsetLeft + Math.round(parseFloat((propType == "client") ? borderLeftWidth : 0)) + "px"; …Run Code Online (Sandbox Code Playgroud)