J'ai une liste d'un href et je voudrais en créer une liste déroulante.Générer une liste déroulante
Comment puis-je accomplir cela sans utiliser jQuery?
Je suis nouveau javascript ...
J'ai une liste d'un href et je voudrais en créer une liste déroulante.Générer une liste déroulante
Comment puis-je accomplir cela sans utiliser jQuery?
Je suis nouveau javascript ...
var select = document.createElement("select");
for (var i=0; i<hrefs.length; i++) {
var link = hrefs[i];
var option = document.createElement("option");
option.value = hrefs[i];
option.innerHTML = i + ": " + hrefs[i]; // this is the label
select.appendChild(option);
}
document.body.appendChild(select);
Je ne suis pas sûr si l'étiquette est juste; cela dépend de ce que vous voulez dire par une liste de hrefs et de ce que vous voulez faire avec l'étiquette. Je suppose que vous avez un tableau de liens comme ["http://google.com", ...].
Si vous avez JavaScript 1.6, vous pouvez faire quelque chose comme ceci:
var hrefs = ['http://stackoverflow.com', 'http://example.com'],
select = document.createElement("select"),
str = hrefs.map(function(l){
return '<option>'+l+'</option>'
});
select.innerHTML = str.join('');
document.body.appendChild(select);
Vous pouvez imiter .map avec
if (!Array.prototype.map)
{
Array.prototype.map = function(fun /*, thisp*/)
{
var len = this.length >>> 0;
if (typeof fun != "function")
throw new TypeError();
var res = new Array(len);
var thisp = arguments[1];
for (var i = 0; i < len; i++)
{
if (i in this)
res[i] = fun.call(thisp, this[i], i, this);
}
return res;
};
}
(via MDC - https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/map)
BTW, vous pouvez modifier 'return ''' pour répondre à vos besoins. Son idée générale ... – NilColor