Till Startsidan

Skaffa webbhotell?
Läs JavaScript.nu's jämförelse av webbhotell.
Med priser från
9 kr / månad.

Genom ett samarbete får alla JavaScript.nu-
besökare dessutom 100 kr i rabatt vid beställning.


Visa lista

[ JavaScript.nu's Forum ] [ Viktigt om forumet ] [ JavaScript.nu's Startsida ]


Forum / Visa lista
 Hej!

Följande script genererar i alert(html) en listkod är okay med ul-,ol- och li-taggar, dvs. en lista i två nivåer. Men i webbläsaren syns endast den första nivån. Hur kan det komma sig? Vad kan jag göra för att listan ska visas i sin helhet?

var config = {
"tags": "vfx+compositing",
"user": "andreasl",
"scriptTagTarget": "scriptTagDiv",
"deliciousTarget": "deliciousLinks",
"callbackFunction": "fetchDelicious"
};

window.onload = function() {
var url = 'http://feeds.delicious.com/v2/json/' + config.user + '/' + config.tags + '?callback=' + config.callbackFunction;
var scriptDiv = document.getElementById(config.scriptTagTarget);
addScriptTag(url, scriptDiv);
};

function addScriptTag(url, scriptDiv) {
if (scriptDiv.hasChildNodes())
{
scriptDiv.removeChild(scriptDiv.firstChild)
};

var scriptElement = document.createElement('script');
scriptElement.setAttribute('src', url);
scriptDiv.appendChild(scriptElement);
}

function fetchDelicious(json) {
var html = ""; // skapar variablen html
var root = document.createElement("ul"); // skapar ul-tagg att lägga i varibeln root
// går igenom alla länkar som json hämtar upp och befolkar listan
for(var i = 0; i < json.length; i++) {
var uri = json[i].u;
var description = json[i].d;
var tags = json[i].t;
var time = json[i].dt;
var author = json[i].a;
var li = document.createElement("li"); // skapar li-tagg och lägger den i variabeln li
li.appendChild(createAnchor(uri, description)); // skapar länkar med funktionen createAnchor och lägger dem i li-taggen
root.appendChild(li); // lägger li-taggarna i ul-taggen, dvs. variavlen root
var visaHtml = "<li><a href=\":u\">:d</a>:t</li>".replace(":u", uri).replace(":d", description); // li-taggarna med länkar läggs i variabeln visaHtml
var tagHtml = ""; // skapar en ny variabel tagHtml för att härbärgera taggarna/bokmärkena till respektive länk
// går igenom alla taggar/bokmärken och befolkar nivå-två-listan
for(var n = 0; n < tags.length; n++) {
tagHtml += "<li><a href=\"http://delicious.com/:u\">:d</a></li>".replace(":u", [author,tags[n]].join("/")).replace(":d", tags[n]); }
tagHtml = "<ol>" + tagHtml + "</ol>"; // ser till att tagHtml omges av ul-taggar dvs. skapar en lista i listan
html = html + visaHtml.replace(":t", tagHtml); // listan skapas med li-taggar som innehåller ny ul-lista med taggar/bokmärken
}
html='<ul>' + html + tagHtml + "</ul>";
document.getElementById(config.deliciousTarget).appendChild(root);
alert(html);
}

function createAnchor(uri, description) {
var anchor = document.createElement("a");
anchor.appendChild(document.createTextNode(description));
anchor.setAttribute("href", uri);
return anchor;
}

Postat av nilla (83.185.82.233) den 22 Juni, 2010 kl 05:38:07.


Svar på inlägget:
  • Re: Visa lista Simon 23:33:46 06/24/10 (1)
    • Re: Visa lista nilla 04:19:33 06/25/10 (0)


Posta ett svar:

Namn:
E-Mail:
Rubrik:
Meddelande:
Ja tack, maila mig om andra svarar på detta inlägg.
Ja tack, maila mig om andra svarar på mitt inlägg.


[ JavaScript.nu's Forum ] [ Viktigt om forumet ] [ JavaScript.nu's Startsida ]






Copyright © Omid Rouhani 1997-2022; Alla rättigheter reserverade.
Guider: [ HTML guide ] - [ JavaScript guide ] - [ DHTML guide ] - [ Perl guide ] - [ Sitemap ]