HTML5 では、カスタム データ属性 (data-* カスタム属性) と呼ばれる新しい機能が追加されています。 HTML5 では、データを保存するために必要なカスタム属性を設定するためのプレフィックスとして data- を使用できます。もちろん、高度なブラウザーはスクリプトを通じてデータを定義し、アクセスできます。プロジェクトの実践に非常に役立ちます。
例:
コードは次のとおりです:
属性メソッドを使用して data-* カスタム属性の値にアクセスします
data-* カスタム属性の値にアクセスするには、attributes メソッドを使用すると非常に便利です:
コードは次のとおりです:
// 使用getAttribute获取 data- 属性 var user = document . getElementById ( 'user' ) ; var userName = plant . getAttribute ( 'data-uname' ) ; // userName = '脚本之家' var userId = plant . getAttribute ( 'data-uid' ) ; // userId = '12345' // 使用 set Attribute设置 data- 属性 user . setAttribute ( 'data-site' , 'http://www.jb51.net' ) ;
コードは次のとおりです。以下の通り:
このメソッドは、要素の dataset 属性にアクセスすることによって、data-* カスタム属性の値にアクセスします。データセット属性は HTML5
JavaScriptAPI の一部であり、選択されたすべての要素のデータ属性の DOMStringMap オブジェクトを返すために使用されます。 このメソッドを使用する場合、データにアクセスするために data-uid などの完全な属性名を使用する代わりに、data- プレフィックスを削除する必要があります。
もう 1 つ特別な注意を払う必要があるのは、data-属性名にハイフンが含まれている場合 (例: data-
date-of-birth)、ハイフンは削除され、キャメルケースの名前、つまり以前の属性名に変換されます。変換後は dateOfBirth になるはずです。 コードは次のとおりです:
<p id = "user" uid = "12345" uname = "脚本之家" > </p> <script> // 使用getAttribute获取 data- 属性 var user = document . getElementById ( 'user' ) ; var userName = plant . getAttribute ( 'uname' ) ; // userName = '脚本之家' var userId = plant . getAttribute ( 'uid' ) ; // userId = '12345' // 使用setAttribute设置 data- 属性 user . setAttribute ( 'site' , 'http://www.jb51.net' ) ; </script>
データ属性を削除したい場合は、 delete . dataset ; または el .dataset ; を実行できます。
見た目は美しいですね(笑)、でも残念ながら、新しいデータセット属性は Chrome 8 以降、Firefox (Gecko) 6.0 以降、Internet Explorer 11 以降、Opera 11.10 以降、Safari 6 以降のブラウザにのみ実装されているため、当面は簡単に実行できるようにするのが最善です。 getAttribute と setAttribute を使用して操作します。
実際の開発では、カスタム データ - 属性に基づいて関連する要素を選択できるため、便利であることがわかります。たとえば、要素を選択するには、querySelectorAll
を使用します。//「data-flowering」属性を含むすべての要素を選択します
document . querySelectorAll ( '[data-flowering]' ) ;
// 'data-text-colour' 属性値 red を含むすべての要素を選択します
document . querySelectorAll ( '[data-text-colour="red"]' ) ;
同様に、次の例のように、data- 属性値を通じて対応する要素の CSS スタイルを設定することもできます。
コードは次のとおりです:
<p id="user" data-id="1234567890" data-name="脚本之家" data-date-of-birth>码头</p> <script type="text/javascript"> var el = document.querySelector('#user'); console.log(el.id); // 'user' console.log(el.dataset);//一个DOMStringMap console.log(el.dataset.id); // '1234567890' console.log(el.dataset.name); // '脚本之家' console.log(el.dataset.dateOfBirth); // '' el.dataset.dateOfBirth = '1985-01-05'; // 设置data-date-of-birth的值. console.log('someDataAttr' in el.dataset);//false el.dataset.someDataAttr = 'mydata'; console.log('someDataAttr' in el.dataset);//true </script>
Html5 の無料ビデオ チュートリアル。
2 H5 のイベント属性の詳細な説明
3 H5 の 28 の非常に重要な新機能、新技術および新技術の詳細な説明
4 H5 でタイマーを作成するコードのデモ。
5. H5 複数の画像アップロードを完了する詳細な例
以上がH5のカスタム属性データの詳細説明 -*の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。