html5 カスタム属性「data-*」は、プライベート ページの背後に適用されるカスタム データを保存するために使用されます。カスタム データにより、ページにより良いインタラクティブ エクスペリエンスが提供されます (Ajax を使用したり、サーバーにアクセスしたりする必要はありません)。 data) の場合、構文は「
」です。「data-*」属性は 2 つの部分で構成されます: 1. 属性名には大文字を含めないでください。 . -" の後には少なくとも 1 文字が続く必要があります。 2. 属性値。任意の文字列を使用できます。
このチュートリアルの動作環境: Windows 7 システム、HTML5 バージョン、Dell G3 コンピューター。
#html5 カスタム属性data-*<span style="font-size: 18px;"></span>
data-* この属性は、プライベート ページの背後に適用されるカスタム データを保存するために使用されます。これは HTML5 の新しい属性です。
<element data-*="somevalue">
data-* 属性はすべての HTML で使用できます要素にデータを埋め込みます。
data-* 属性は次の 2 つの部分で構成されます。
<div id="myDiv" data-attribute="value">在标签里设置H5新增的自定义属性</div>
<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>
var myDiv = document.getElementById("myDiv"); var theValue = myDiv.getAttribute("user-defined-attribute");
var myDiv = document.getElementById("myDiv"); var theValue = myDiv.dataset.attribute;
dom.style.borderColor と同様に、大文字と小文字の組み合わせで名前を記述する必要があります。たとえば、データ属性は
data-other-attribute であり、対応する値を取得したい場合は、myp.dataset.otherAttribute
If HTML を使用できます。要素で複数のカスタム属性を定義します。取得方法は?
<div id="myDiv" data-attribute1="value" data-attribute2="value2" data-attribute3="value3">在标签里设置多个自定义属性</div>
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) == 'data-') { expense[attrs[i].name.substring(5)] = attrs[i].value; } }
dataset 属性
var expense = document.getElementById('myDiv').dataset;
dataset とこれは一般的な意味での JavaScript オブジェクトではありませんが、
DOMStringMap オブジェクト、
DOMStringMap は、複数の名前と値のペアを含む HTML5 の新しい対話型変数です。
var chartInput = []; for (var item in expense) { chartInput.push(expense[item]); }
data 属性を削除します
delete myDiv.dataset.attribute;
myDiv.dataset.attribute4 = 'value4';
データセットの互換性処理
ブラウザがデータセットをサポートしていない場合は、互換性処理を行う必要があります: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 サイトの他の関連記事を参照してください。