Javascript 使用getElementsByClassName获取父节点

Javascript 使用getElementsByClassName获取父节点,javascript,Javascript,我正在寻找从我的对象获取parentNode的javascript解决方案。然而,无论我做什么,它总是说“未定义” 这是我的代码: HTML 反对 我试过使用 var imageElement = document.getElementsByClassName("EmbedImageWidget").parentNode; console.log(imageElement); var imageElement = document.getElementsByClass

我正在寻找从我的对象获取parentNode的javascript解决方案。然而,无论我做什么,它总是说“未定义”

这是我的代码:

HTML

反对

我试过使用

    var imageElement = document.getElementsByClassName("EmbedImageWidget").parentNode;
    console.log(imageElement);

    var imageElement = document.getElementsByClassName("EmbedImageWidget")[0].parentNode;
    console.log(imageElement);


然而,这两种选择都不起作用。任何帮助都将不胜感激。干杯

您需要使用
document.getElementsByClassName(“EmbedImageWidget”)[0].parentNode
而不是
document.getElementsByClassName(“EmbedImageWidget”).parentNode
。此代码工作正常


但我认为您希望访问Image元素,而这不是div的父元素。那是那个部门的孩子

var imageElement = document.getElementsByClassName("EmbedImageWidget")[0].parentNode;
console.log(imageElement);
这是最好的解决方案,但是有一些问题,您的
img
元素是在运行js代码后生成的。当您尝试获取js中
img
元素的父节点时,
EmbedImageWidget
类中没有
img
元素


这是因为
ng if

在您提供的HTML中,类为
EmbedImageWidget
的元素似乎没有父节点。您可以在上包含一个示例吗?这是因为它们是从另一个文件注入的。我上传了一个新的图像显示了这一点。如果您尝试
console.log(document.getElementsByClassName(“EmbedImageWidget”).length)
您可以发现没有与您的选择器相关的objected。如果您查看他的JS块,他正在记录对
getElementsByClassName
的调用,并且至少输出1个元素。我们甚至可以从他的照片中看到,它有一个
parentNode
访问器,它不是
undefined
test
console.log(document.getElementsByClassName(“EmbedImageWidge”)吗‌​t)长度)???代码工作正常,需要帮助。实际上,我必须在我的文档之外再上两层才能删除一些填充。这就是为什么我想联系它的父母。无论如何,谢谢你的帮助
    var imageElement = document.getElementsByClassName("EmbedImageWidget").parentNode;
    console.log(imageElement);

    var imageElement = document.getElementsByClassName("EmbedImageWidget")[0].parentNode;
    console.log(imageElement);
var imageElement = document.getElementsByClassName("EmbedImageWidget")[0].parentNode;
console.log(imageElement);