このリファレンスとJavaScriptのカスタムプロパティの詳細な説明

このリファレンスとJavaScriptのカスタムプロパティの詳細な説明

1. このキーワード

これは現在の要素を参照します

グローバル関数内のこれはウィンドウオブジェクトを指します

コード内にブラウザウィンドウオブジェクトに属するグローバル関数が宣言されており、これはブラウザウィンドウオブジェクトウィンドウを表します。

関数fn() {
	console.log(これ);
}
関数()

タグイベント属性のこれはウィンドウオブジェクトを指します

グローバル関数がタグ属性で呼び出される場合は、次のようになります。

<button onclick="fn()">クリックして試す</button>
関数fn() {
	console.log(これ)
}

このイベント属性関数は、現在の操作のラベルを指します。

タグオブジェクトの属性に関数が宣言されている場合、その関数はタグ属性に属し、関数内のthisは現在のタグオブジェクトを指します。

<button id="btn">クリックして試す</button>
var btn = document.getElementById('btn');
btn.onclick = 関数() {
	console.log(これを);
}

2. カスタム属性

フロントエンド Web ページの開発では、JavaScript 構文の操作は主にタグ オブジェクトです。特定の状況では、カスタム属性を設定してタグを操作する必要があります。

基本構文: 要素.属性名 = 属性値

var btn = document.getElementById('btn');
btn.index = 1;

3. 包括的なケース1:タブの実装

実装手順
1. まず静的ページのデザインを完成させます(HTMLとCSSのコードについては付録を参照)

2.まずページ要素を取得する

 var uli = document.querySelector('ul').querySelectorAll('li');
 var oli = document.querySelector('ol').querySelectorAll('li');

3. forループを通じて要素にクリックイベントを追加する

(var i = 0; i < uli.length; i++) の場合 {          
            uli[i].addEventListener('click', 関数() {   
               } )
        }

4. 要素にカスタム属性を追加し、対応するタブにインデックス番号を追加します。

  uli[i].インデックス = i;

クリック イベントに対応するスタイルを追加する (完全なコード)

(var i = 0; i < uli.length; i++) の場合 {
            uli[i].インデックス = i;
            uli[i].addEventListener('click', 関数() {
                (var j = 0; j < uli.length; j++) の場合 {
                    uli[j].className = '';
                    oli[j].className = '';
                }
                this.className = '現在の';
                oli[this.index].className = '現在の';
            })
        }

注意: この場合、クラス名を追加することで対応するタブの表示と非表示が切り替わります。要素に対応するクラス名を追加する前に、すべての要素のクラス名をクリアする必要があります。

付録

<スタイル>
        * {
            マージン: 0;
            パディング: 0;
            リストスタイル: なし;
        }
        。箱 {
            高さ: 250px;
            幅: 300ピクセル;
            境界線: 2px 実線;
        }
        ul {
            ディスプレイ: フレックス;
            コンテンツの両端揃え: スペースの間;
            背景: 赤;
            下境界線: 2px #ccc;
        }
        ul li {
            フロート: 左;
            幅: 100ピクセル;
            色: #fff;
            カーソル: ポインタ;
            高さ: 40px;
            行の高さ: 40px;
            テキスト配置: 中央;
        }
        ul li.current {
            border-bottom: 5px 緑の実線;
        }
        オルリ{
            マージン: 30px;
            表示: なし;
        }
        ol li.current {
            表示: ブロック;
        }
    </スタイル>
    <div class="box">
        <ul>
            <li class="current">最初のページ</li>
            <li>ページ 2</li>
            <li>ページ 3</li>
        </ul>
        <オル>
            <li class="current">私は最初のページです</li>
            <li>私は2ページ目です</li>
            <li>私は3ページ目です</li>
        </ol>
    </div>

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScript関数の詳細な説明これを指す問題
  • JavaScript プロトタイプオブジェクトの this ポイント問題の詳細な説明
  • JSの矢印関数におけるこのポイントの詳細な説明
  • JavaScriptのthisキーワードは

<<:  Alibaba Cloud ECS サーバーでポート 8080 を開く方法

>>:  MySQL自動シャットダウン問題への対処の実践記録

推薦する

Linux での MySQL のアンインストールとインストールのグラフィック チュートリアル

ブログを書くのは初めてです。開発に携わって2年になります。仕事の後に何か有意義なことを見つけたいと思...

ユニークインデックスの S ロックと X ロックによる MySQL デッドロック ルーチンの理解

「初心者向けソースコードからの MySQL デッドロック問題の理解」では、MySQL ソースコードを...

MySQL の時間保持問題に関する簡単な分析

MySQL のデフォルトの時間タイプ (datetime と timestamp) の精度は秒です。...

Centos7 に yum を使用して MySQL をインストールし、リモート接続を実現する方法

Centos7はyumを使用してMySQLをインストールし、リモート接続を実現する方法です。MySQ...

ウェブページのフッターで注意すべきことのまとめ

たくさんのリンクおそらく、このようなサイトをたくさん見たことがあるでしょう。ページの下部に 50 個...

Vueカスタムv-has命令、ボタン権限判定の手順

目次アプリケーションシナリオ簡単に言えば、カスタム指示基本概念グローバルカスタマイズローカルカスタマ...

MySQL DATE_FORMAT関数の使用

タオバオが、ダブル11に最も多くの注文をした2人のユーザー、ユーザー1:「ショッピングの皇帝、陳哈哈...

React dva実装コード

目次ドヴァdvaの使用DVAの実装非同期をサポートルーターの実装成し遂げる:ドヴァdva は、red...

Linux および Unix サーバーのセキュリティを強化する方法

ネットワーク セキュリティは非常に重要なトピックであり、サーバーはネットワーク セキュリティにおける...

vuexの強制リフレッシュによるデータ損失問題の分析

vuex 永続状態基本原則: すべての vuex データをローカルストレージに保存し、ページが更新さ...

MySQLはカスタム関数を使用して親IDまたは子IDを再帰的に照会します

背景: MySQL では、レベルに制限がある場合、たとえば、ツリーの最大深度を事前に決定できる場合、...

MySQLの実行プロセスとシーケンスについての簡単な説明

目次1:mysql実行プロセス1.1: コネクタ1.2: キャッシュ1.3: アナライザー1.4: ...

MYSQL メタデータ ロック (MDL ロック) の理論とロック タイプ テスト

目次MYSQL メタデータ ロック (MDL ロック) 学習理論とロック タイプ テスト1. 予備的...

JavaScript は最大値と最小値のアルゴリズムを通じて AI 三目並べゲームを実装します

では、早速スクリーンショットを実行してみましょう。黒い駒はプレイヤーの位置、赤い駒はコンピュータの位...

jsはショッピングカートの加算と減算、価格計算機能を実現します

この記事では、ショッピングカートの増減と価格計算を実現するためのjsの具体的なコードを紹介します。具...