Actualmente estoy trabajando en una aplicación web con HTML 5, CSS y JQuery. Tengo una lista desordenada (ul) para mostrar enlaces de página, con cada elemento li que contiene el enlace de página. Esta lista se crea dinámicamente usando jQuery.Alternativa al atributo de valor (obsoleto) para elementos li
Lo que me gustaría hacer es hacer que los elementos de la lista solo muestren el nombre de la página en el enlace, pero al mismo tiempo conservar la ruta completa del enlace. Por ejemplo, "http://www.foo.com/xyz/contactus" se mostraría como "contactus", pero el elemento li aún "sabría" la ruta completa del enlace. Para ello, el atributo de valor de li habría sido perfecto, ya que se podía establecer como esto:
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);
}
Esto crearía una lista como:
<ul>
<li value="http://www.foo.com/xyz/contactus">contactus</li>
...
</ul>
Desafortunadamente el atributo valor de li ha sido desaprobado desde HTML 4.01 (¿alguien sabe la razón detrás de esto? me parece bastante útil ...).
Por lo tanto, me gustaría obtener algunos consejos sobre cómo proceder. Una opción es ignorar la depreciación y usar el atributo de valor de todos modos, ya que todos los navegadores principales todavía lo admiten, pero no estoy muy interesado en usar una función en desuso y simplemente se siente mal.
¿Alguna idea?
_ "Lo que me gustaría hacer es hacer que los elementos de la lista solo muestren el nombre de la página en el enlace, pero al mismo tiempo conservar la ruta completa del enlace." _ Esto es exactamente para lo que son las etiquetas de anclaje, y las etiquetas de anclaje tienen la ventaja de funcionar para usuarios que solo usan el teclado y que no usan (o no pueden) un mouse u otro dispositivo señalador. Es bueno seguir los estándares con respecto a los atributos obsoletos y demás, como mencionaste, pero en mi opinión es mucho más importante seguir los estándares de accesibilidad ... – nnnnnn
@nnnnn: exactamente –
@ o.v. Creo que puedes votar un comentario en vez de escribir "de acuerdo" en un nuevo comentario ... – gdoron