peterS.: Position eines <li>...-Konzept: [NodeList]s und Array-Iteratoren

Beitrag lesen

gruss r-v-a,

deine problemstellung ist ein ideales beispiel, um loesungsansaetze
auf basis von array-iteratoren zu demonstrieren:

var getPositionOfListEntry = (function (obj/*String|HTMLLIElement*/) {  
  
  var idx;/*  
  
  »» Ich möchte anhand der ID eines <li>-Elements herausfinden, an welcher  
  Zählerstelle das <li>-Element innerhalb einer <UL>-Liste steht.*/  
  
  obj = ((typeof obj == "string") ? (document.getElementById(obj)) : (obj));  
  
  if (obj && (typeof obj.nodeName == "string") && (obj.nodeName.toLowerCase() == "li")) {  
  
    idx = [link:http://forum.de.selfhtml.org/archiv/2007/9/t159017/#m1034856@title=Array.indexOf](obj.parentNode.getElementsByTagName("li"), obj);  
  }  
  return idx; /*undefined|-1|N*/  
  
});/*  
  
  

> Jedes <li>-Element hat bei mir eine eindeutige ID über die ich es identifizieren kann.*/  
  
  
var idx;  
idx = getPositionOfListEntry("entryId");  
idx = getPositionOfListEntry(document.getElementById("entryId"));  
idx = getPositionOfListEntry(document.getElementsByTagName("li")["entryId"]);  
idx = getPositionOfListEntry(document.getElementsByTagName("ul")["listId"].getElementById("entryId"));  
idx = getPositionOfListEntry(document.getElementsByTagName("ul")["listId"].getElementsByTagName("li")["entryId"]);

so long - peterS. - pseliger@gmx.net

--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]