2010-11-20 10 views
3

スライドショーを実装するJavaスクリプトコードがいくつかあります。一連のimgタグをテーブルとして使用してアクションを制御します。おそらく私はいくつかのコードを使っていました。とにかく、imgタグにはimgタグの定義で見つけられないdata-img属性が含まれています。今すぐimgタグにデータを追加する必要があることがわかりました。私の質問は次のとおりです:<img>アトリビュート

1)data-imgは実際には本当の属性ですか、何か特別なものですか?

2)さらに多くの属性を作成できますか?

3)このような属性を使用する危険性は何ですか?

+4

これはHTML 5で有効です。関連:http://stackoverflow.com/questions/1600106/storing-arbitrary-info-in-html-tags-for-javascript –

+0

なぜjQuery caroselを使用しないのですか? – CarneyCode

答えて

2

1)HTML5で有効です。無効な属性です(私の知る限り、すべてのブラウザで動作しますが、検証は中断されます)。

2)私が知る限り、任意の属性Javascriptでそれらを照会しますが、ブラウザがマークアップを作成する特定のDOM操作やその他の操作で属性が生き残らない可能性があります。無効な属性を単純に削除する可能性があります。

3)ページは検証されなくなります。

背景:Custom attributes - Yay or nay?

+0

あなたが引用した参考資料からは、おそらくHTML5のデータは何でもOKだと思われます。 http://html5doctor.com/html5-custom-data-attributes/ –

+0

@Mike dataも参照してください。HTML 5では何かが間違いなく有効です。 –

0
  1. 実装によって異なります。
  2. はい、頻繁にそうするのが非常に便利です。
  3. #2で作成した場合、実際にはそうではありませんが、その時点ではDOMの一部です。属性を削除するブラウザはありません。
+0

ブラウザは、気付いていない属性を削除します。 IE8以下の人は、彼が何を話しているのか分かりません。 – jwueller

+0

@elusiveブラウザは未知の属性をいつ削除しますか?確かに、通常のHTML/Javascriptページのコンテキストではありませんか? –

+0

@Pekka:以前はカスタム属性に関する問題に遭遇し、IEでしか起こらなかったと考えました。しかし、私は文脈がわからない。 – jwueller

0

は、彼らが有効なHTML5の属性です。

サーバー側と通信せずに、クライアント側のJavaScriptのみを追加して取得する必要がある場合は、store and retrieveメカニズムをMootoolsで使用されているのと同様に実装できます。

DOMを汚染せず、javascriptオブジェクトも保存します。

関連する問題