国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
プロパティを「クリックして」に設(shè)定します。 NodeList.jsは、NodeListの各ノードに対してこれを?qū)g行します。とても賢いですよね?
nodeList.jsアレイメソッドのサポート
pushおよびunshift
メソッド:
callメソッドでは、要素固有のメソッドを呼び出すことができます(たとえば、ビデオ要素で
itemメソッドは、jQueryの
owner屬性は、jqueryの
ノデリストとHTMLCollectionの違いは何ですか?
jQueryセレクターは、通常の要素ではなくprevobjectを返すのはなぜですか?
ノデリストをループする方法は?
jQueryでの.prev()メソッドの使用は何ですか?
jQueryは2022年にまだ関連していますか?
ノデリストから特定のノードを選択する方法は?

jQueryの膨満感を失います

Feb 19, 2025 am 08:27 AM

Lose the jQuery Bloat -

コアポイント

  • nodeList.jsは、jQueryのDOM操作の代替として、同様の機(jī)能を提供しますが、(圧縮後4K)、ネイティブブラウザーAPIの改善を利用します。

  • jQueryとは異なり、nodelist.jsはノードアレイを単一ノードとして扱い、クリーナーコードを有効にし、ノーデリストオブジェクト操作を容易にします。

  • nodeList.jsには、屬性を設(shè)定および取得し、要素固有の方法を呼び出し、ノデリストのノードへのアクセスを含む特別な方法が含まれています。 prevObject owner

  • nodeList.jsは、特定のバージョン(Firefox 6、Safari 5.0.5、Chrome 6、IE 9、Opera 11.6)の後に主流のブラウザと互換性があり、ブラウザーによって追加された新しいメソッド/プロパティが含まれるように自動的に更新されます。
  • p.tip { バックグラウンドカラー:RGBA(128,128,128,0.05); Border-Top-Right-Radius:5px; 國境圏 - 右とradius:5px; パディング:15px 20px; 國境左:10pxソリッドRGBA(128,128,128,075); }

  • 近年、jQueryはWeb上の事実上のJavaScriptライブラリになりました。多くのクロスブラウザーの矛盾を削除し、クライアントスクリプトに人気のある構(gòu)文砂糖の層を追加します。抽象化処理の主な問題の1つはDOM操作ですが、jQueryの出現(xiàn)以來、ネイティブブラウザーAPIが大幅に改善されており、「おそらくJqueryを必要としない」という概念が人気がありました。

理由は次のとおりです

jQueryには、必要または使用していない多くの機(jī)能が含まれています(したがって、巨大であることは不要です)。

    jQueryは、あまりにも多くの人々のためにあまりにも多くの機(jī)能を擔(dān)當(dāng)します。一般に、小さなライブラリはいくつかのタスクをより良く実行できます。
  1. dom操作の観點(diǎn)から、ブラウザAPIはjQueryのほとんどの関數(shù)を?qū)g行できるようになりました。
  2. ブラウザAPIは、たとえば
  3. の代わりに
  4. を使用するなど、より同期しています。
  5. addEventListener attachEvent問題は何ですか?
問題は、domにネイティブ(または純粋な)javaScriptを使用することは、jqueryと比較して面倒である可能性があることです。これは、より冗長なコードを作成し、ブラウザの役に立たないノデリストを処理する必要があるためです。

まず、MDNのノデリストの定義を見てみましょう:

NodeListオブジェクトは、ノードのコレクションであり、

メソッドおよび

メソッドによって返されるものです。

Node.childNodesダイナミクスノデリストが時(shí)々あります(混亂する可能性があります):document.querySelectorAll

場合によっては、NodeListは動的なコレクションです。つまり、DOMの変更がコレクションに反映されています。たとえば、

は動的です。

これは、動的で靜的なものがわからないため、問題になる可能性があります。 NodeListから各ノードを削除し、ノデリストが空であるかどうかを確認(rèn)しない限り??栅螆龊?、動的なノデリストがあります(それはただの悪い考えです)。 Node.childNodesさらに、ブラウザは、これらのノデリストオブジェクトを操作するための有用な方法を提供しません。

たとえば、殘念ながら、

を使用してノードをループすることはできません。

したがって、forEach次のことを行う必要があります

var nodes = document.querySelectorAll('div');
nodes.forEach(function(node) {
  // do something
});
// 錯(cuò)誤:nodes.forEach 不是函數(shù)
または「ハック」のみを使用することさえあります:

var nodes = document.querySelectorAll('div');
for(var i = 0, l = nodes.length; i < l; i++) {
  // do something with nodes[i]
}
ブラウザのネイティブノデリストには、1つの方法しかありません。 Indexを介してNodeListからノードを返します。アレイを使用するようにノードにアクセスできる場合(

を使用)、それは完全に役に立たない:

[].forEach.call(document.querySelectorAll('div'), function(node) {
    // do something
});

これは、nodelist.jsが登場する場所です。JQUERYを使用してブラウザネイティブAPIを使用してDOMを簡単に操作できますが、4K圧縮サイズのみが必要です。 item array[index]

solution
var nodes = document.querySelectorAll('div');
nodes.item(0) === nodes[0]; // true

Nodelist.jsを作成しました。なぜなら、ネイティブDom APIを使用しているが、それらをより簡潔にしたいので、コードを作成するときに多くの冗長性を減らします(ループなど)。

nodeList.jsは、単一のノードであるかのようにノードの配列(つまり、ノデリスト)を操作できるネイティブDom APIのラッパーです。これにより、ブラウザのネイティブNodeListオブジェクトよりも多くの機(jī)能が得られます。

これが良いと思われる場合は、公式のGithubリポジトリからnodelist.jsのコピーを入手し、このチュートリアルの殘りの部分を読み続けてください。

使用法:

domノードの選択は簡単です:

//ノデリストに戻ります

この方法は、バックグラウンドで使用されています

。 $$(selector);

しかし、jqueryと比較してどうですか?

この質(zhì)問をしてくれてうれしいです。ネイティブJS、jQuery、およびnodelist.jsを比較しましょう。 querySelectorAll(selector)

3つのボタンがあるとします:

各ボタンのテキストを「私をクリックする」に変更しましょう。

ネイティブjs:

jquery:

var buttons = document.querySelectorAll('button'); // 返回瀏覽器無用的 NodeList
for(var i = 0, l = buttons.length; i < l; i++) {
  buttons[i].textContent = 'Click Me';
}

nodelist.js:

$('button').text('Click Me');

ここでは、nodeList.jsがノデリストを単一のノードとして効果的に扱うことができることがわかります。つまり、ノデリストを參照して、

プロパティを「クリックして」に設(shè)定します。 NodeList.jsは、NodeListの各ノードに対してこれを?qū)g行します。とても賢いですよね?

メソッドチェーン(jQueryと同様)が必要な場合は、次のことを行います。これは、ノデリストへの參照を返します。
$$('button').textContent = 'Click Me';

さあ、各ボタンにクリックイベントリスナーを追加しましょう:textContent

ネイティブjs:

$$('button').set('textContent', 'Click Me');

jquery:

nodelist.js:
var buttons = document.querySelectorAll('button'); // 返回瀏覽器無用的 NodeList
for(var i = 0, l = buttons.length; i < l; i++) {
  buttons[i].addEventListener('click', function() {
    this.classList.add('clicked');
  });
}

さて、jqueryの
$('button').on('click', function() {
  $(this).addClass('click');
  // 或?qū)?jQuery 與原生混合使用 `classList`:
  this.classList.add('clicked');
});
方法はかなり良いです。私のライブラリはブラウザのネイティブDOM API(したがって

)を使用していますが、それは私たちがこの方法のエイリアスを作成することを妨げません:

$$('button').addEventListener('click', function() {
  this.classList.add('clicked');
});

悪くない!これは、獨(dú)自の方法を追加する方法を示しています

var nodes = document.querySelectorAll('div');
nodes.forEach(function(node) {
  // do something
});
// 錯(cuò)誤:nodes.forEach 不是函數(shù)

nodeList.jsアレイメソッドのサポート

nodeList.jsはArray.prototypeから継承しますが、直接ではありません。いくつかの方法が変更されているため、ノデリスト(ノードの配列)でそれらを使用することは理にかなっています。

pushおよびunshift

たとえば、

およびpushメソッドはパラメーターとしてノードのみをとることができます。そうしないと、エラーがスローされます。 unshift

したがって、ノデリストを返してメソッドチェーンを許可します。つまり、JavaScriptのネイティブ
var nodes = document.querySelectorAll('div');
for(var i = 0, l = nodes.length; i < l; i++) {
  // do something with nodes[i]
}
またはメソッドとは異なります。 NodeListの長さが必要な場合は、プロパティを使用する必要があります。

これら2つのメソッドは、JavaScriptのネイティブ配列メソッドのように、ノデリストを変更します。 push unshift Array#pushArray#unshift length

メソッドは、パラメーターとして以下を受け入れます。

は再帰的な方法なので、これらの配列は私たちが望むほど深く、平らになる可能性があります。ただし、通過した配列の要素がノード、ノデリスト、またはhtmlCollectionでない場合、エラーが発生します。 concat

javascriptのconcatメソッドと同様に、新しいノデリストを返します。

[].forEach.call(document.querySelectorAll('div'), function(node) {
    // do something
});

、concat

、

concat、Array#concat、

popおよびshiftメソッドの両方がオプションのパラメーターを使用して、ノードリストからポップまたはシフトするノードの數(shù)を示します。 JavaScriptのネイティブmapまたはsliceとは異なり、後者は常にパラメーターとして渡されるものに関係なく、常に配列內(nèi)の要素をポップアップ表示またはシフトします。 filter

マッピングされた各値がノードである場合、

メソッドはノーデリストを返します。

popshiftおよびArray#popメソッドは、実際の配列で行うのと同じことを行いますが、ノデリストを返します。 Array#shift

nodeList.jsは

から直接継承しないため、nodeList.jsをロードするときにmapにメソッドを追加すると、継承されません。

ここで、Nodelist.jsの殘りの配列メソッドを表示できます。 slice filter特別な方法

nodeList.jsには、4つの一意の方法と、Array.prototypeと呼ばれるプロパティがあります。 Array.prototype

および

メソッド:

ownerいくつかの要素には、そのタイプの要素に固有の屬性があります(たとえば、アンカータグのprevObject屬性)。これが、

が定義されていない理由です。これは、ノデリストのすべての要素に継承されたプロパティではないためです。これは、これらのプロパティにアクセスするために

メソッドを使用する方法です。

var nodes = document.querySelectorAll('div');
nodes.forEach(function(node) {
  // do something
});
// 錯(cuò)誤:nodes.forEach 不是函數(shù)

setメソッドを使用して、各要素のこれらのプロパティを設(shè)定できます。

また、
var nodes = document.querySelectorAll('div');
for(var i = 0, l = nodes.length; i < l; i++) {
  // do something with nodes[i]
}

ノデリストを返して、メソッドチェーンを許可します。 setなどで使用できます(両方とも同等):textContent

[].forEach.call(document.querySelectorAll('div'), function(node) {
    // do something
});
1回の呼び出しに複數(shù)のプロパティを設(shè)定することもできます。

上記のすべての操作は、任意の屬性を使用して実行できます。
var nodes = document.querySelectorAll('div');
nodes.item(0) === nodes[0]; // true

style

メソッド
var buttons = document.querySelectorAll('button'); // 返回瀏覽器無用的 NodeList
for(var i = 0, l = buttons.length; i < l; i++) {
  buttons[i].textContent = 'Click Me';
}

callメソッドでは、要素固有のメソッドを呼び出すことができます(たとえば、ビデオ要素で

):

call pause

メソッド
$('button').text('Click Me');

itemメソッドは、jQueryの

メソッドに相當(dāng)します。インデックスを通過するノードのみを含むノデリストを返します:

item eq

屬性
$$('button').textContent = 'Click Me';

owner屬性は、jqueryの

に相當(dāng)します。

ownerprevObjectスタイルアレイを返し、

はマッピングされたノデリストを返します。
$$('button').set('textContent', 'Click Me');

nodeList.js互換性btns.style owner私のライブラリは、以下に説明するように、すべての主要な新しいブラウザと互換性があります。 style

browser

バージョンfirefox6 safari 5.0.5 chrome6 < ??ie 9 opera 11.6 < 結(jié)論 これで、最終的に便利なノデリストオブジェクトを使用できます! 約4Kの圧縮サイズの場合、上記のすべてを取得します。これについては、nodeList.jsのgithubリポジトリで學(xué)ぶことができます。 nodelist.jsは依存関係としてブラウザを使用するため、アップグレードは必要ありません。ブラウザが新しいメソッド/屬性をDOM要素に追加するたびに、これらのメソッド/屬性をnodeList.jsを介して自動的に使用できます。これはすべて、心配する必要がある唯一の非推測はブラウザ削除方法だけであることを意味します。これらは通常、Webを壊すことができないため、非常に低い使用方法です。 それで、あなたはどう思いますか?このライブラリを使用することを検討しますか?重要な機(jī)能はありませんか?以下のコメントであなたのコメントを聞いてみたいです。 nodeList.js

を使用したDOM操作に関するよくある質(zhì)問

ノデリストとHTMLCollectionの違いは何ですか?

ノデリストとhtmlCollectionはどちらもノードコレクションです。それらの主な違いは、ノデリストが任意のノードタイプを含めることができることですが、HTMLCollectionは要素ノードのコレクションです。 HTMLCollectionも動的です。つまり、ドキュメント構(gòu)造が変更されると自動的に更新されます。一方、NodeListは靜的であり、ドキュメントの変更を反映するために更新しません。

ノデリストを配列に変換する方法は?

メソッドまたは拡張演算子を使用して、ノデリストをアレイに変換できます。それを行う方法は次のとおりです
var nodes = document.querySelectorAll('div');
nodes.forEach(function(node) {
  // do something
});
// 錯(cuò)誤:nodes.forEach 不是函數(shù)

jQueryセレクターは、通常の要素ではなくprevobjectを返すのはなぜですか?

JQueryのチェーンメカ??ニズムは、変更を加える前に以前のオブジェクトを保存することにより機(jī)能します。これにより、.end()メソッドを使用して以前の狀態(tài)に復(fù)元できます。実際のDOM要素を取得したい場合は、.get()メソッドまたは配列表記を使用できます。

ノデリストをループする方法は?

for loop、for ... of loop、またはforEach()メソッドを使用して、ノデリストをループすることができます。以下は、forループを使用した例です:

var nodes = document.querySelectorAll('div');
for(var i = 0, l = nodes.length; i < l; i++) {
  // do something with nodes[i]
}

jQueryでの.prev()メソッドの使用は何ですか?

jQueryの.prev()メソッドは、前の兄弟のすぐ隣の選択した要素を選択するために使用されます。セレクターが提供されている場合、以前の兄弟要素は、セレクターが一致している場合にのみ取得されます。

jQueryは2022年にまだ関連していますか?

jQueryは発売時(shí)のゲームチェンジャーでしたが、最新のJavaScriptエコシステムは大幅に変化しました。 JQueryを人気にする機(jī)能の多くは、JavaScript自體に組み込まれています。ただし、JQueryは依然として広く使用され、維持されており、一部のプロジェクトには適した選択かもしれません。

ノデリストから特定のノードを選択する方法は?

配列表記またはitem()メソッドを使用して、NodeListから特定のノードを選択できます。それを行う方法は次のとおりです

[].forEach.call(document.querySelectorAll('div'), function(node) {
    // do something
});
ノデリストのメソッドを使用、フィルター、および削減できますか?

ノデリストは配列ではないため、マップ、フィルター、削減などのメソッドはありません。ただし、ノデリストを配列に変換してから、これらのメソッドを使用できます。

QuerySelectorとQuerySelectorallの違いは何ですか?

指定されたCSSセレクターに一致するドキュメントの最初の要素を返し、querySelectorはCSSセレクターに一致するすべての要素のノデリストを返します。 querySelectorAll

ノデリストが空であるかどうかを確認(rèn)するにはどうすればよいですか?

プロパティをチェックして、Nodelistが空であるかどうかを確認(rèn)できます。長さが0の場合、ノデリストは空です。それを行う方法は次のとおりです length

以上がjQueryの膨満感を失いますの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Java vs. JavaScript:混亂を解消します Java vs. JavaScript:混亂を解消します Jun 20, 2025 am 12:27 AM

JavaとJavaScriptは異なるプログラミング言語であり、それぞれ異なるアプリケーションシナリオに適しています。 Javaは大規(guī)模なエンタープライズおよびモバイルアプリケーション開発に使用されますが、JavaScriptは主にWebページ開発に使用されます。

JavaScriptコメント:短い説明 JavaScriptコメント:短い説明 Jun 19, 2025 am 12:40 AM

JavaScriptcommentsEareEssentialential-formaining、およびGuidingCodeexecution.1)single-linecommentseared forquickexplanations.2)多LinecommentsexplaincomplexlogiCorprovidededocumentation.3)clarifyspartsofcode.bestpractic

JSで日付と時(shí)間を操作する方法は? JSで日付と時(shí)間を操作する方法は? Jul 01, 2025 am 01:27 AM

JavaScriptで日付と時(shí)間を処理する場合は、次の點(diǎn)に注意する必要があります。1。日付オブジェクトを作成するには多くの方法があります。 ISO形式の文字列を使用して、互換性を確保することをお勧めします。 2。時(shí)間情報(bào)を取得および設(shè)定して、メソッドを設(shè)定でき、月は0から始まることに注意してください。 3.手動でのフォーマット日付には文字列が必要であり、サードパーティライブラリも使用できます。 4.ルクソンなどのタイムゾーンをサポートするライブラリを使用することをお勧めします。これらの重要なポイントを習(xí)得すると、一般的な間違いを効果的に回避できます。

なぜの下部にタグを配置する必要があるのですか? なぜの下部にタグを配置する必要があるのですか? Jul 02, 2025 am 01:22 AM

PLACSTHETTHETTHE BOTTOMOFABLOGPOSTORWEBPAGESERVESPAGESPORCICALPURPOSESESFORSEO、userexperience、andDesign.1.IthelpswithiobyAllowingseNStoAccessKeysword-relevanttagwithtagwithtagwithtagwithemaincontent.2.iTimrovesexperiencebyepingepintepepinedeeping

JavaScript vs. Java:開発者向けの包括的な比較 JavaScript vs. Java:開発者向けの包括的な比較 Jun 20, 2025 am 12:21 AM

javascriptispreferredforwebdevelopment、whilejavaisbetterforlge-scalebackendsystemsandroidapps.1)javascriptexcelsininintingtivewebexperiences withitsdynAmicnature anddommanipulation.2)javaofferstruntypyping-dobject-reientedpeatures

JavaScript:効率的なコーディングのためのデータ型の調(diào)査 JavaScript:効率的なコーディングのためのデータ型の調(diào)査 Jun 20, 2025 am 12:46 AM

javascripthassevenfundamentaldatypes:number、string、boolean、undefined、null、object、andsymbol.1)numberseadouble-precisionformat、有用であるため、有用性の高いものであるため、but-for-loating-pointarithmetic.2)ストリングリムムット、使用率が有用であること

DOMでのイベントの泡立ちとキャプチャとは何ですか? DOMでのイベントの泡立ちとキャプチャとは何ですか? Jul 02, 2025 am 01:19 AM

イベントキャプチャとバブルは、DOMのイベント伝播の2つの段階です。キャプチャは最上層からターゲット要素までであり、バブルはターゲット要素から上層までです。 1.イベントキャプチャは、AddEventListenerのUseCaptureパラメーターをTrueに設(shè)定することにより実裝されます。 2。イベントバブルはデフォルトの動作であり、UseCaptureはfalseに設(shè)定されているか、省略されます。 3。イベントの伝播を使用して、イベントの伝播を防ぐことができます。 4.イベントバブルは、動的なコンテンツ処理効率を改善するためにイベント委任をサポートします。 5.キャプチャを使用して、ロギングやエラー処理など、事前にイベントを傍受できます。これらの2つのフェーズを理解することは、タイミングとJavaScriptがユーザー操作にどのように反応するかを正確に制御するのに役立ちます。

JavaとJavaScriptの違いは何ですか? JavaとJavaScriptの違いは何ですか? Jun 17, 2025 am 09:17 AM

JavaとJavaScriptは、異なるプログラミング言語です。 1.Javaは、エンタープライズアプリケーションや大規(guī)模なシステムに適した、靜的に型付けされ、コンパイルされた言語です。 2。JavaScriptは動的なタイプと解釈された言語であり、主にWebインタラクションとフロントエンド開発に使用されます。

See all articles