ホームページ ウェブフロントエンド フロントエンドQ&A HTML5 カスタム属性の用途は何ですか?

HTML5 カスタム属性の用途は何ですか?

Jul 29, 2022 pm 04:35 PM
html5 カスタムプロパティ data-*

html5 カスタム属性「data-*」は、プライベート ページの背後に適用されるカスタム データを保存するために使用されます。カスタム データにより、ページにより良いインタラクティブ エクスペリエンスが提供されます (Ajax を使用したり、サーバーにアクセスしたりする必要はありません)。 data) の場合、構文は「」です。「data-*」属性は 2 つの部分で構成されます: 1. 属性名には大文字を含めないでください。 . -" の後には少なくとも 1 文字が続く必要があります。 2. 属性値。任意の文字列を使用できます。

HTML5 カスタム属性の用途は何ですか?

このチュートリアルの動作環境: Windows 7 システム、HTML5 バージョン、Dell G3 コンピューター。

#html5 カスタム属性data-*<span style="font-size: 18px;"></span>

data-* この属性は、プライベート ページの背後に適用されるカスタム データを保存するために使用されます。これは HTML5 の新しい属性です。

<element data-*="somevalue">
ログイン後にコピー

  • somevalue: 属性値 (文字列) を指定します。

data-* 属性はすべての HTML で使用できます要素にデータを埋め込みます。

カスタマイズされたデータにより、ページのインタラクティブなエクスペリエンスが向上します (Ajax を使用したり、サーバー上のデータをクエリしたりする必要はありません)。

data-* 属性は次の 2 つの部分で構成されます。

  • 属性名には大文字を含めることはできません。 data- の後に少なくとも 1 文字。

  • 属性値。属性値には任意の文字列を指定できます。

注: カスタム属性プレフィックス「data-」はクライアントによって無視されます。

データセットを使用して、データ属性によって構築されたオブジェクトを取得できます。このメソッドは現在、Chrome や Opera などの一部のブラウザにのみ実装されています。他のブラウザが属性値を取得する必要がある場合は、getAttribute を使用する必要があります。そして操作するsetAttribute。

タグ内のプレフィックスとして「data-」を使用してカスタム属性を定義している限り、それを使用してデータを保存できます。

<div id="myDiv" data-attribute="value">在标签里设置H5新增的自定义属性</div>
ログイン後にコピー
ログイン後にコピー

このデータ属性は、ブラウザがコンテンツの after 疑似クラスと attr 属性をサポートしている場合、CSS にも適用できます (IE の以前のバージョンではサポートされていません):

<div id="myDiv" data-attribute="属性值">data属性应用于CSS中</div>
ログイン後にコピー
#myDiv{
  position: ralative;
}
 
#myDiv:hover:after{
  position: absolute;
  top: 0px;
  left: 0px;
  content: attr(data-attribute);
  color: red;
}
ログイン後にコピー

データ属性の値を取得するにはどうすればよいですか?

<div id="myDiv" data-attribute="value">在标签里设置H5新增的自定义属性</div>
ログイン後にコピー
ログイン後にコピー

1. getAttribute を使用して

var myDiv = document.getElementById("myDiv");
var theValue = myDiv.getAttribute("user-defined-attribute");
ログイン後にコピー

2. Html5 カスタム属性オブジェクト データセットを使用して

var myDiv = document.getElementById("myDiv");
 
var theValue = myDiv.dataset.attribute;
ログイン後にコピー

を取得します 注: 使用する場合、名前にハイフンが含まれていますの場合は、キャメルケースで名前を付ける必要があります。つまり、application 要素のスタイル オブジェクト

dom.style.borderColor と同様に、大文字と小文字の組み合わせで名前を記述する必要があります。たとえば、データ属性は data-other-attribute であり、対応する値を取得したい場合は、myp.dataset.otherAttribute

If HTML を使用できます。要素で複数のカスタム属性を定義します。取得方法は?

<div id="myDiv" data-attribute1="value" data-attribute2="value2" data-attribute3="value3">在标签里设置多个自定义属性</div>
ログイン後にコピー

1. ループ トラバーサルを使用します

 var myDiv = document.getElementById("myDiv");
var attrs = myDiv.attributes,
var expense = {}, i, j;  
for (i = 0, j = attrs.length; i < j; i++) {
  if(attrs[i].name.substring(0, 5) == &#39;data-&#39;) {
    expense[attrs[i].name.substring(5)] = attrs[i].value;
  }
}
ログイン後にコピー

2.

dataset 属性

var expense = document.getElementById(&#39;myDiv&#39;).dataset;
ログイン後にコピー

を使用します 注:

dataset とこれは一般的な意味での JavaScript オブジェクトではありませんが、DOMStringMap オブジェクトDOMStringMap は、複数の名前と値のペアを含む HTML5 の新しい対話型変数です。

1 )、すべてのカスタム属性値を配列に詰め込みます

var chartInput = [];
 
for (var item in expense) {
  chartInput.push(expense[item]);
}
ログイン後にコピー

2)、

data 属性を削除します

delete myDiv.dataset.attribute;
ログイン後にコピー

3、data 属性を追加します

myDiv.dataset.attribute4 = &#39;value4&#39;;
ログイン後にコピー

データセットの互換性処理

ブラウザがデータセットをサポートしていない場合は、互換性処理を行う必要があります:

if(myDiv.dataset) {
  myDiv.dataset.attribute = "valueXX"; // 设置自定义属性
  var theValue = myDiv.dataset.attribute; // 获取自定义属性
} else {
  myDiv.setAttribute("data-attribute", "valueXX"); // 设置自定义属性
  var theValue = myDiv.getAttribute("data-attribute"); // 获取自定义属性
}
ログイン後にコピー

結論:

dataset を使用して data を操作すると、getAttribute を使用するよりもわずかに遅くなりますが、dataset を使用することはできません。コードのパフォーマンスが向上しますが、コードが簡潔な場合、コードの読みやすさと保守性を向上させるのに非常に役立ちます。

[推奨コース:

HTML5 ビデオ チュートリアル Web フロントエンド ]

以上がHTML5 カスタム属性の用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

HTMLの表の境界線 HTMLの表の境界線 Sep 04, 2024 pm 04:49 PM

HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML 左マージン HTML 左マージン Sep 04, 2024 pm 04:48 PM

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML のネストされたテーブル HTML のネストされたテーブル Sep 04, 2024 pm 04:49 PM

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML テーブルのレイアウト HTML テーブルのレイアウト Sep 04, 2024 pm 04:54 PM

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML入力プレースホルダー HTML入力プレースホルダー Sep 04, 2024 pm 04:54 PM

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML 順序付きリスト HTML 順序付きリスト Sep 04, 2024 pm 04:43 PM

HTML 順序付きリストのガイド。ここでは、HTML 順序付きリストと型の導入とその例についても説明します。

HTML 内のテキストの移動 HTML 内のテキストの移動 Sep 04, 2024 pm 04:45 PM

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML の onclick ボタン HTML の onclick ボタン Sep 04, 2024 pm 04:49 PM

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。

See all articles