Ich arbeite derzeit an einer Webanwendung mit HTML 5, CSS und JQuery. Ich habe eine ungeordnete Liste (ul) zum Anzeigen von Seitenlinks, wobei jedes li-Element den Seitenlink enthält. Diese Liste wird dynamisch mit jQuery erstellt.Alternative zu (veraltet) Wert Attribut für li Elemente
Was ich tun möchte ist, dass die Listenelemente nur den Seitennamen im Link anzeigen, aber gleichzeitig den vollständigen Linkpfad beibehalten. Zum Beispiel würde "http://www.foo.com/xyz/contactus" als "contactus" angezeigt, aber das li-Element würde immer noch den vollständigen Linkpfad "kennen". Zu diesem Zweck wäre der Wert Attribut li perfekt gewesen, da ich sie so einstellen könnte:
<ul>
<li value="http://www.foo.com/xyz/contactus">contactus</li>
...
</ul>
Leider hat sich der Wert Attribut li gewesen:
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);
}
Diese Liste wie schaffen würde seit HTML 4.01 veraltet (jemand kennt die Gründe dafür? Scheint mir sehr nützlich ...).
Also, ich möchte einen Ratschlag, wie Sie vorgehen. Eine Möglichkeit besteht darin, die Deprecation zu ignorieren und das Wertattribut trotzdem zu verwenden, da alle gängigen Browser es immer noch unterstützen, aber ich bin nicht sehr daran interessiert, eine veraltete Funktion zu verwenden, und es fühlt sich einfach falsch an.
Irgendwelche Ideen?
_ "Was ich tun möchte, ist, dass die Listenelemente nur den Seitennamen im Link anzeigen, aber gleichzeitig den vollständigen Linkpfad beibehalten." _ - Genau das sind die Anker-Tags für und Anker-Tags haben den Vorteil, dass sie nur für Benutzer mit Tastatur funktionieren, die keine Maus oder ein anderes Zeigegerät verwenden (oder nicht verwenden können). Es ist gut, die Standards in Bezug auf veraltete Attribute usw. zu befolgen, wie Sie bereits erwähnt haben, aber meiner Meinung nach ist es viel wichtiger, die Standards für Barrierefreiheit zu befolgen ... – nnnnnn
@nnnnn: genau –
@ o.v. Ich denke, Sie können einen Kommentar upvote anstatt schreiben "zustimmen" in einem neuen Kommentar ... – gdoron