网站如何做到完全不需要jQuery也可以满足简单需求_jquery
jQuery 是现在最流行的 JavaScript 工具库。
据统计,目前全世界 57.3% 的网站使用它。也就是说,10 个网站里面,有 6 个使用 jQuery。如果只考察使用工具库的网站,这个比例就会上升到惊人的 91.7%。
虽然 jQuery 如此受欢迎,但是它臃肿的体积也让人头痛不已。jQuery 2.0 的原始大小为 235KB,优化后为 81KB;如果是支持 IE6、7、8 的 jQuery 1.8.3,原始大小为 261KB,优化后为 91KB。
这样的体积,即使是宽带环境,完全加载也需要 1 秒或更长,更不要说移动设备了。这意味着,如果你使用了 jQuery,用户至少延迟 1 秒,才能看到网页效果。考虑到本质上,jQuery 只是一个操作 DOM 的工具,我们不仅要问:如果只是为了几个网页特效,是否有必要动用这么大的库?
2006 年,jQuery 诞生的时候,主要用于消除不同浏览器的差异(主要是 IE6),为开发者提供一个简洁的统一接口。相比当时,如今的情况已经发生了很大的变化。IE 的市场份额不断下降,以 ECMAScript 为基础的 JavaScript 标准语法,正得到越来越广泛的支持。开发者直接使用 JavScript 标准语法,就能同时在各大浏览器运行,不再需要通过 jQuery 获取兼容性。
下面就探讨如何用 JavaScript 标准语法,取代 jQuery 的一些主要功能,做到 jQuery-free。
一、选取 DOM 元素
jQuery 的核心是通过各种选择器,选中 DOM 元素,可以用 querySelectorAll 方法模拟这个功能。
这里需要注意的是,querySelectorAll 方法返回的是 NodeList 对象,它很像数组(有数字索引和 length 属性),但不是数组,不能使用 pop、push 等数组特有方法。如果有需要,可以考虑将 Nodelist 对象转为数组。
二、DOM 操作
DOM 本身就具有很丰富的操作方法,可以取代 jQuery 提供的操作方法。
尾部追加 DOM 元素。
// jQuery 写法
$(parent) .append ($(child));
// DOM 写法
parent.appendChild (child)
头部插入 DOM 元素。
// jQuery 写法
$(parent) .prepend ($(child));
// DOM 写法
parent.insertBefore (child, parent.childNodes[0])
删除 DOM 元素。
// jQuery 写法
$(child) .remove ()
// DOM 写法
child.parentNode.removeChild (child)
三、事件的监听
jQuery 的 on 方法,完全可以用 addEventListener 模拟。
为了使用方便,可以在 NodeList 对象上也部署这个方法。
[]['forEach'].call (this, function (el) {
el.on (event, fn);
});
return this;
};
四、事件的触发
jQuery 的 trigger 方法则需要单独部署,相对复杂一些。
Element.prototype.trigger = function (type, data) {
var event = document.createEvent ('HTMLEvents');
event.initEvent (type, true, true);
event.data = data {};
event.eventName = type;
event.target = this;
this.dispatchEvent (event);
return this;
};
在NodeList对象上也部署这个方法。
NodeList.prototype.trigger = function (event) {
[]['forEach'].call (this, function (el) {
el['trigger'](event);
});
return this;
};
五、document.ready
目前的最佳实践,是将 JavaScript 脚本文件都放在页面底部加载。这样的话,其实 document.ready 方法(jQuery 简写为$(function))已经不必要了,因为等到运行的时候,DOM 对象已经生成了。
六、attr 方法
jQuery 使用 attr 方法,读写网页元素的属性。
DOM 元素允许直接读取属性值,写法要简洁许多。
需要注意,input 元素的 this.value 返回的是输入框中的值,链接元素的 this.href 返回的是绝对 URL。如果需要用到这两个网页元素的属性准确值,可以用 this.getAttribute (‘value')和 this.getAttibute (‘href')。
七、addClass 方法
jQuery 的 addClass 方法,用于为 DOM 元素添加一个 class。
$('body') .addClass ('hasJS');
DOM 元素本身有一个可读写的 className 属性,可以用来操作 class。
document.body.className = 'hasJS';
// or
document.body.className += ' hasJS';
HTML 5 还提供一个 classList 对象,功能更强大(IE 9 不支持)。
document.body.classList.add ('hasJS');
document.body.classList.remove ('hasJS');
document.body.classList.toggle ('hasJS');
document.body.classList.contains ('hasJS');
八、CSS
jQuery 的 css 方法,用来设置网页元素的样式。
DOM 元素有一个 style 属性,可以直接操作。
element.style.color = "red";;
// or
element.style.cssText += 'color:red';
九、数据储存
jQuery 对象可以储存数据。
HTML 5 有一个 dataset 对象,也有类似的功能(IE 10 不支持),不过只能保存字符串。
element.dataset.user = JSON.stringify (user);
element.dataset.score = score;
十、Ajax
jQuery 的 Ajax 方法,用于异步操作。
$.ajax ({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
}) .done (function ( msg ) {
alert ( "Data Saved: " + msg );
});
我们可以定义一个 request 函数,模拟 Ajax 方法。
function request (type, url, opts, callback) {
var xhr = new XMLHttpRequest ();
if (typeof opts === 'function') {
callback = opts;
opts = null;
}
xhr.open (type, url);
var fd = new FormData ();
if (type === 'POST' && opts) {
for (var key in opts) {
fd.append (key, JSON.stringify (opts[key]));
}
}
xhr.onload = function () {
callback (JSON.parse (xhr.response));
};
xhr.send (opts ? fd : null);
}
然后,基于 request 函数,模拟 jQuery 的 get 和 post 方法。
var get = request.bind (this, 'GET');
var post = request.bind (this, 'POST');
十一、动画
jQuery 的 animate 方法,用于生成动画效果。
jQuery 的动画效果,很大部分基于 DOM。但是目前,CSS 3 的动画远比 DOM 强大,所以可以把动画效果写进 CSS,然后通过操作 DOM 元素的 class,来展示动画。
如果需要对动画使用回调函数,CSS 3 也定义了相应的事件。
el.addEventListener ("webkitTransitionEnd", transitionEnded);
el.addEventListener ("transitionend", transitionEnded);
十二、替代方案
由于 jQuery 体积过大,替代方案层出不穷。
其中,最有名的是 zepto.js。它的设计目标是以最小的体积,做到最大兼容 jQuery 的 API。zepto.js 1.0 版的原始大小是 55KB,优化后是 29KB,gzip 压缩后为 10KB。
如果不求最大兼容,只希望模拟 jQuery 的基本功能,那么,min.js 优化后只有 200 字节,而 dolla 优化后是 1.7KB。
此外,jQuery 本身采用模块设计,可以只选择使用自己需要的模块。具体做法参见它的 GitHub 网站,或者使用专用的 Web 界面。
十三、参考链接
- Remy Sharp,I know jQuery. Now what?
- Hemanth.HM,Power of Vanilla JS
- Burke Holland,5 Things You Should Stop Doing With jQuery
(完)

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Detaillierte Erläuterung der jQuery-Referenzmethode: Kurzanleitung jQuery ist eine beliebte JavaScript-Bibliothek, die häufig in der Website-Entwicklung verwendet wird. Sie vereinfacht die JavaScript-Programmierung und bietet Entwicklern umfangreiche Funktionen und Features. In diesem Artikel wird die Referenzmethode von jQuery ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern einen schnellen Einstieg zu erleichtern. Einführung in jQuery Zuerst müssen wir die jQuery-Bibliothek in die HTML-Datei einführen. Es kann über einen CDN-Link eingeführt oder heruntergeladen werden

Wie verwende ich die PUT-Anfragemethode in jQuery? In jQuery ähnelt die Methode zum Senden einer PUT-Anfrage dem Senden anderer Arten von Anfragen, Sie müssen jedoch auf einige Details und Parametereinstellungen achten. PUT-Anfragen werden normalerweise zum Aktualisieren von Ressourcen verwendet, beispielsweise zum Aktualisieren von Daten in einer Datenbank oder zum Aktualisieren von Dateien auf dem Server. Das Folgende ist ein spezifisches Codebeispiel, das die PUT-Anforderungsmethode in jQuery verwendet. Stellen Sie zunächst sicher, dass Sie die jQuery-Bibliotheksdatei einschließen. Anschließend können Sie eine PUT-Anfrage senden über: $.ajax({u

jQuery ist eine schnelle, kleine und funktionsreiche JavaScript-Bibliothek, die häufig in der Front-End-Entwicklung verwendet wird. Seit seiner Veröffentlichung im Jahr 2006 ist jQuery für viele Entwickler zu einem der bevorzugten Tools geworden, hat in der Praxis jedoch auch einige Vor- und Nachteile. In diesem Artikel werden die Vor- und Nachteile von jQuery eingehend analysiert und anhand spezifischer Codebeispiele veranschaulicht. Vorteile: 1. Prägnante Syntax Das Syntaxdesign von jQuery ist prägnant und klar, was die Lesbarkeit und Schreibeffizienz des Codes erheblich verbessern kann. Zum Beispiel,

Wie entferne ich das Höhenattribut eines Elements mit jQuery? Bei der Front-End-Entwicklung müssen wir häufig die Höhenattribute von Elementen manipulieren. Manchmal müssen wir möglicherweise die Höhe eines Elements dynamisch ändern, und manchmal müssen wir das Höhenattribut eines Elements entfernen. In diesem Artikel wird erläutert, wie Sie mit jQuery das Höhenattribut eines Elements entfernen, und es werden spezifische Codebeispiele bereitgestellt. Bevor wir jQuery zum Betreiben des Höhenattributs verwenden, müssen wir zunächst das Höhenattribut in CSS verstehen. Das Höhenattribut wird verwendet, um die Höhe eines Elements festzulegen

Titel: jQuery-Tipps: Ändern Sie schnell den Text aller Tags auf der Seite. In der Webentwicklung müssen wir häufig Elemente auf der Seite ändern und bedienen. Wenn Sie jQuery verwenden, müssen Sie manchmal den Textinhalt aller a-Tags auf der Seite gleichzeitig ändern, was Zeit und Energie sparen kann. Im Folgenden wird erläutert, wie Sie mit jQuery den Text aller Tags auf der Seite schnell ändern können, und es werden spezifische Codebeispiele angegeben. Zuerst müssen wir die jQuery-Bibliotheksdatei einführen und sicherstellen, dass der folgende Code in die Seite eingefügt wird: <

Titel: Verwenden Sie jQuery, um den Textinhalt aller Tags zu ändern. jQuery ist eine beliebte JavaScript-Bibliothek, die häufig zur Verarbeitung von DOM-Operationen verwendet wird. Bei der Webentwicklung müssen wir häufig den Textinhalt des Link-Tags (eines Tags) auf der Seite ändern. In diesem Artikel wird erläutert, wie Sie mit jQuery dieses Ziel erreichen, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir die jQuery-Bibliothek in die Seite einführen. Fügen Sie den folgenden Code in die HTML-Datei ein:

Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Wenn Sie jQuery zum Betreiben von DOM-Elementen verwenden, stoßen Sie häufig auf Situationen, in denen Sie feststellen müssen, ob ein Element ein bestimmtes Attribut hat. In diesem Fall können wir diese Funktion einfach mit Hilfe der von jQuery bereitgestellten Methoden implementieren. Im Folgenden werden zwei häufig verwendete Methoden vorgestellt, um festzustellen, ob ein jQuery-Element über bestimmte Attribute verfügt, und um spezifische Codebeispiele anzuhängen. Methode 1: Verwenden Sie die Methode attr() und den Operator typeof //, um zu bestimmen, ob das Element ein bestimmtes Attribut hat

jQuery ist eine beliebte JavaScript-Bibliothek, die häufig zur DOM-Manipulation und Ereignisbehandlung in Webseiten verwendet wird. In jQuery wird die Methode eq() verwendet, um Elemente an einer bestimmten Indexposition auszuwählen. Die spezifischen Verwendungs- und Anwendungsszenarien sind wie folgt. In jQuery wählt die Methode eq() das Element an einer angegebenen Indexposition aus. Indexpositionen beginnen bei 0 zu zählen, d. h. der Index des ersten Elements ist 0, der Index des zweiten Elements ist 1 und so weiter. Die Syntax der eq()-Methode lautet wie folgt: $("s
