2012-10-15 14 views

Odpowiedz

10
element.parentNode.tagName.toLowerCase() == 'span' 
+0

Powinien mieć '... toLowerCase()'. – RobG

4
var elem = document.getElementById("myElement"), 
    isParentSpan = elem.parentNode.tagName === "span"; 

alert(isParentSpan); 
3

Pamiętaj, że .nodeName zwraca napis wielkimi literami (z pewnymi wyjątkami). Najtańszym rozwiązaniem jest toLowerCase() podczas porównywania.

http://ejohn.org/blog/nodename-case-sensitivity/

var el = document.getElementById('test'), 
    parent = el.parentElement || el.parentNode, 
    parentType = el.parentElement.nodeName.toLowerCase(); 

if ('span' === parentType) { 
    alert('Parent is a span!'); 
} 

http://jsfiddle.net/TT6jr/

+0

+1 za używanie 'toLowerCase()'. – RobG

Powiązane problemy