2016-04-17 11 views
-1

So habe ich eine Javascript-Funktion, die das nth Kind des Elements ergeben soll. Unten ist der Code für die Funktion.Javascript-Funktion wird nicht erwartet Ergebnis

function findNthChild(element) { 
 
\t nthchild = 1; 
 
\t console.log(element); 
 
\t if (element.prev().hasClass('.point')) { 
 
\t \t while (element.prev().hasClass('.point')) { 
 
\t \t \t nthchild++; 
 
\t \t \t element == element.prev() 
 
\t \t } 
 
\t \t return nthchild; 
 
\t } 
 
\t else { 
 
\t \t console.log('lmao'); 
 
\t \t return 1; 
 
\t } 
 
}

+2

'element = element.prev();' 'anstelle Element == element.prev();' –

+0

Ist 'element' ein jQuery-Objekt oder ein DOM-Element? – jfriend00

Antwort

0

Von Ihrem Element der Algorithmus Sie so etwas wie dieses

  1. Blick auf die nächsten Geschwister Element aussehen könnte wollen, elm
  2. Wenn elmundefined ist oder null zurück null
  3. Wenn elm Klasse interestingClass, verringern n von 1
  4. Wenn n größer als 0 zurück 1
  5. Return elm

Vanille zu Schritt

function nthSiblingElementByClass(sibling, n, cls) { 
    if (sibling) do { 
     if (sibling.classList.contains(cls)) 
      if (--n < 0) return sibling; 
    } while (sibling && (sibling = sibling.nextElementSibling)); 
    return null; 
} 

Verwendung, z auf dieser Seite

var elm = document.querySelector('.kwd'); 
nthSiblingElementByClass(elm, 5, 'pln'); // <span class=​"pln">​console​</span>​ 
+0

Wie würde das ausspucken, welches n-te Kind es ist? Auch können Sie wie ein Kinderspiel oder ein Beispiel bereitstellen, damit ich die Verwendung besser verstehen kann. – DarkReaperRising

Verwandte Themen