我對經典的 JavaScript 不是很熟悉,那么這行代碼在 jQuery 中會是什么樣子呢?
const siemas = document.querySelectorAll('.slider');
for(const siema of siemas) {
new Siema({
selector: siema
});
}
這個 ...
const siemas = document.querySelectorAll('.slider');
.. 將只是(如果我是對的):
var siemas = $('.slider');
和這個 ...
for(const siema of siemas)
......會變得像:
$.each ???
uj5u.com熱心網友回復:
如果您有多個幻燈片
for..of 與簡單的 for 回圈
const sliders = document.querySelectorAll('.slider'); for (let i=0;i<sliders.length;i ) { new Siema({ selector: sliders[i] }); }for..of 與 forEach
IE 不支持 for..of,但您可以使用 forEach 代替。forEach 需要使用 spread 進行包裝,因為 IE 也不支持 HTML 集合上的 forEach
[...document.querySelectorAll('.slider')].forEach(function() {
new Siema({
selector: this
});
})
for..of vs jQuery 每個
$('.slider').each(function() { new Siema({ selector: this }) })也許(取決于你的html)你可以做
const slideShow = new Siema({ selector: '.slider' })
uj5u.com熱心網友回復:
在jQuery中。
var siemas = $('.slider');
siemas.each(function(){
// this represent current element
new Siema({
selector: this
});
});
uj5u.com熱心網友回復:
for..of 是一個廣泛使用的回圈,所有瀏覽器都支持,除了現在已棄用的 IE。所以,在 jQuery 中你會做
$('slider').each(function() {
//this is the 'current' slider element
//$(this) is the jQuery object of the current slider
});
但是增加對 jQuery 的依賴并不是真正可取的,JS 不再需要這種技術來支持它。相反,您可以在撰寫代碼時簡單地使用 for..of 回圈,并使用 BabelJS 將代碼轉換為 ES5,以便 IE 能夠處理它。示例:
轉換
var arr = [1, 2, 3];
for (let item of arr) {
//do whatever with item
}
進入
"use strict";
var arr = [1, 2, 3];
for (var _i = 0, _arr = arr; _i < _arr.length; _i ) {
//do whatever with item
var item = _arr[_i];
}
所以,你可以實作 myscript.js 并使用 Babel 你可以生成它的ES5版本,我們稱之為 myscript_ie.js。因此,當您的頁面加載時,您可以檢查瀏覽器是否為 IE。如果沒有,那么您可以加載普通腳本。否則,您可以加載您的 IE 版本。
這個特別推薦的原因是 for..of 只是 IE 不支持的功能之一,這個答案旨在解決所有這些不兼容性,或者至少大大減少它們并超越 for..of 的問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/341040.html
標籤:javascript 查询
