10

我需要检查父元素是否是跨度。我如何使用 Javascript(不是 JQuery)来做到这一点?

4

3 回答 3

17
element.parentNode.tagName.toLowerCase() == 'span'
于 2012-10-15T22:19:04.357 回答
4
var elem = document.getElementById("myElement"),
    isParentSpan = elem.parentNode.tagName === "span";

alert( isParentSpan );
于 2012-10-15T22:19:19.753 回答
3

请记住 .nodeName 返回一个大写字符串(有一些例外)。比较时 toLowerCase() 是最安全的。

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

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/

于 2012-10-15T22:22:08.617 回答