如何在javascript中找到分配给元素的类(没有jQuery)
How do I find the classes assigned to an element in javascript (without jQuery)
我有一个"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]
包含元素本身的类,但我相信,如果您不想修改代码,那么相应地修改代码是没有问题的。
您可以使用.parentNode
和className
属性。
这就是方式:
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
相关文章:
- 一些元素没有从数组中删除
- jQuery转盘下一个元素没有滑入
- 按钮元素没有响应
- 选择父元素没有't具有某个类(使用'.not()')
- 当“不相关”的 html 选择元素没有选择任何选项时,如何退出 jQuery 事件
- 为什么在Firebug中显示的元素没有显示在页面源代码中
- 是否有任何CSS属性对其元素没有影响
- 为什么可以't我通过ID访问这个动态加载的DOM元素(没有iframe)
- 当第一个初始元素没有'没有与这个jquery等价的cetrain类CSS
- 有些元素没有被改变,即使它们应该被改变
- 元素没有方法有属性,为什么
- 如何将点击事件克隆并添加为单独的元素 - 没有闭包
- 节点中的 JSTREE 输入元素没有焦点
- EventsOn元素没有被调用,但我可以确认它们已经被附加
- 元素没有显示在包装中,它们're在下面
- AngularJs的元素没有出现在印刷对话中
- 拉斐尔元素没有'当传递给循环中的函数时,t变换
- JQuery对新元素没有影响
- 当我设置window.onresize时,HTML元素没有调整大小
- 在绞刑游戏中隐藏的元素没有固定