如何在javascript中找到分配给元素的类(没有jQuery)

How do I find the classes assigned to an element in javascript (without jQuery)

本文关键字:元素 没有 jQuery 分配 javascript      更新时间:2023-09-26

我有一个"A"标签,我想知道它的父母有什么类。。。所以:

<div class="topone">
    <div class="middleone">
        <a href="#" class="thisone">tag</a>
    </div>
</div>

所以我得到了"this one",但我想知道它上面是否有一个div,它的类是"topone"

没有jquery,但是不能将jquery用于这个

您可以使用.className属性访问元素的类,使用.parentNode访问父元素。

var classes = [];
for(var el = document.getElementById('#yourlink'); el; el = el.parentNode) {
    classes.push(el.className);
}

请注意,classes[0]包含元素本身的类,但我相信,如果您不想修改代码,那么相应地修改代码是没有问题的。

您可以使用.parentNodeclassName属性。

这就是方式:

document.getElementById("MyElement").className

Fiddler演示

var element =document.getElementById("topone");      
var liArray = element.childNodes;
      var i=0, item;
    if(element != null)
    {var status=0;
      while (item = liArray[i++]) {
        if (item.nodeType == 1) {
         if(item.className=="thisone"){status=1;}
        }
      }
    if(status==1){alert('it have parent node');}else{alert('it doen`t have parent node');}
    }else{alert('it doesn`t have parent node');}

我已经根据您的要求在我的级别上进行了尝试,希望它能帮助您

您可以编写这样的

给你的标签一个id,比如bottomone

var e = document.getElementById("bottomone").parentNode.className会将类名作为中间的类名。

并且对于上div,你可以写

var e = document.getElementById("bottomone").parentNode.parentNode.className