我正在尝试使用Javascript返回所选元素的父节点的类。这是我所拥有的,但它不起作用。我做错了什么?
function pClass(){
var pc = this.parentNode.className;
return pc;
}
谢谢。
发布于 2018-09-18 07:32:34
它就像一种护身符。问题出在哪里?
function pClass(){
var pc = this.parentNode.className;
console.log(pc);
return pc;
}
const btn = document.getElementById('btn');
btn.addEventListener('click', pClass);
<div class="parentFoo">
<button type="button" id="btn">Click me</button>
</div>
发布于 2018-09-18 07:31:19
我的直觉是this
不是一个html元素。当你做console.log(this);
的时候,你会得到什么?下面是一个如何实现你想要的东西的例子。如果您能向我们展示更多的代码(即,您如何使用pClass
函数),它将帮助您获得更适合您所做的事情的代码。
const child = document.querySelector('#childDiv');
const parentClass = child.parentElement.className;
console.log(parentClass);
<div class="parent-div">
<div id="childDiv"></>
</div>
发布于 2018-09-18 07:36:00
它可能无法工作,因为您调用pClass()
的方式-您没有在您的代码中显示这一点。
但是,此方法适用于您:
<div class="myClass">
<div id="myDiv" onclick="getParentClass(this)">Click Me!</div>
</div>
function getParentClass(elem) {
var pc = elem.parentNode.className;
alert("Parent class: " + pc)
}
https://stackoverflow.com/questions/52376911
复制相似问题