私は現在、HTML 5、CSS、およびJQueryを使用するWebアプリケーションに取り組んでいます。ページリンクを表示するための順序付けられていないリスト(ul)があり、各li要素にページリンクが含まれています。このリストは、jQueryを使用して動的に作成されます。
私がやりたいのは、リスト要素にリンク内のページ名のみを表示させ、同時に完全なリンクパスを保持させることです。たとえば、「http://www.foo.com/xyz/contactus」は「contactus」と表示されますが、li要素はフルリンクパスを「認識」します。この目的のために、liのvalue属性は、次のように設定できるため、完璧でした。
var ul = $('<ul/>').attr('id', 'linkList');
for (var i = 0; i < linksOnPage.length; i++) // linksOnPage is an array with all the links
{
var pgName = linksOnPage[i].toString().slice(steps[i].toString().lastIndexOf('/') + 1);
// Create list element and append content
var li = $('<li/>').text(pgName); // Set the text to the page name
li.attr('value', linksOnPage[i].toString()); // Set the value to the full link
ul.append(li);
}
これにより、次のようなリストが作成されます。
<ul>
<li value="http://www.foo.com/xyz/contactus">contactus</li>
...
</ul>
残念ながら、liのvalue属性はHTML 4.01以降非推奨になっています(この背後にある理論的根拠を知っている人はいますか?私にはかなり役立つようです...)。
それでは、進め方についてアドバイスをお願いします。1つのオプションは、非推奨を無視し、とにかくvalue属性を使用することです。これは、すべての主要なブラウザーが引き続きサポートしているためですが、非推奨の機能を使用することにあまり熱心ではなく、それは単に間違っていると感じます。
何か案は?