私はjavascriptによって提供されるいくつかの相互作用を持つページを作っています。例として:AJAXリクエストを送信して記事のコンテンツを取得し、そのデータをdivに表示するリンク。この例では明らかに、各リンクに追加の情報(記事のID)を格納する必要があります。場合に備えて私がそれを扱ってきた方法は、その情報をhrefリンクに置くことでした:
<a class="article" href="#5">
次に、jQueryを使用してa.article要素を見つけ、適切なイベントハンドラーをアタッチします。(ここでは、ユーザビリティやセマンティクスにこだわらないでください。これは単なる例です)
とにかく、この方法は機能しますが、少し臭いがあり、まったく拡張できません(クリック関数に複数のパラメーターがある場合はどうなりますか?これらのパラメーターの一部がオプションの場合はどうなりますか?)
すぐにわかる答えは、要素に属性を使用することでした。つまり、それが目的なのですよね?(やや)。
<a articleid="5" href="link/for/non-js-users.html">
で私の最近の質問、この方法が有効だった場合、私は尋ねた、そしてそれは私自身のDTDを(私はしません)を定義するのに短いが、その後何も、それが有効か信頼性がないことが判明していません。一般的な応答は、データをclass
属性に入れることでしたが(これは私の選択が不適切な例が原因であった可能性があります)、私には、これはさらににおいがします。はい、技術的には有効ですが、優れたソリューションではありません。
私が過去に使用したもう1つの方法は、実際にJSを生成してページの<script>
タグに挿入し、オブジェクトに関連付ける構造体を作成することでした。
var myData = {
link0 : {
articleId : 5,
target : '#showMessage'
// etc...
},
link1 : {
articleId : 13
}
};
<a href="..." id="link0">
しかし、これはお尻を維持するための本当の痛みになる可能性があり、一般的には非常に厄介です。
では、質問に答えるために、HTMLタグの任意の情報をどのように保存しますか?