我的javascript代码有啥问题-根据条件(存在另一个元素)删除HTML元素-初学者

Posted

技术标签:

【中文标题】我的javascript代码有啥问题-根据条件(存在另一个元素)删除HTML元素-初学者【英文标题】:What is the problem in my javascript code - delete an HTML element based on a condition (presence of another element) - beginner我的javascript代码有什么问题-根据条件(存在另一个元素)删除HTML元素-初学者 【发布时间】:2019-10-16 04:11:33 【问题描述】:

当该元素在https://medium.com/ 上包含另一个元素时,我正在尝试删除该元素

抱歉,所有图片都在这里:https://imgur.com/a/uxG3cPz - 没有嵌入它们的声誉:)

    中型主页 - 无代码。当我注入我的 .js 代码时没有任何变化

    如果包含这个元素,那么应该被删除

如果包含带有星形 SVG 图标的 则应删除的

预期的最终结果(我还不能让它工作)

你能帮帮我吗?

function removeElement(id) 
    var elem = document.getElementById(id);
    var dad = elem.parentNode.parentNode.prentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
    dad.removeChild(dad.firstChild);


function destroyLoop() 
    var i = O;
    while (i < 100) 
        removeElement("svgIcon svgIcon--star svgIcon--15px");
        i++;
    




destroyLoop();

我希望代码实际删除元素,但似乎什么也没发生

一百万谢谢

【问题讨论】:

你的 removeElement 函数需要一个 id,但你用一个长长的字符串(可能是类)调用它。 【参考方案1】:

您在此处将类名作为 id 传递。使用这段代码。这将获取类的第一个元素并将其删除。

function removeElement(id) 
    var elem = document.getElementsByClassName(id)[0].closest("article");
    var dad = elem.parentNode;
    dad.removeChild(elem);



function destroyLoop() 
    var i = 0;
    while (i < 100) 
        removeElement("svgIcon svgIcon--star svgIcon--15px");
        i++;
    




destroyLoop();

【讨论】:

非常感谢您的帮助!我是初学者,但我看到了我的错误——你是对的!但是您的代码似乎对我不起作用。你测试过还是有其他想法? 您要删除存在svgIcon svgIcon--star svgIcon--15px 的 吗?如果是这样,请再次检查我的答案。 感谢您的帮助!这是非常亲切的。 imgur.com/a/AetIOcY - 这基本上是我希望代码执行的顺序。 这还不起作用 - 有什么线索可以解释是什么原因吗? 这就是我得到的 - 有没有人知道可以做什么? imgur.com/a/cIWNRll - 再次感谢

以上是关于我的javascript代码有啥问题-根据条件(存在另一个元素)删除HTML元素-初学者的主要内容,如果未能解决你的问题,请参考以下文章

我的代码有啥问题(使用 dojo xhrGet Ajax)

如何用简单易懂的例子解释条件随机场模型?它和HMM有啥区别

我的构建二叉树解决方案有啥问题?

根据用户输入 javascript 返回一个过滤后的数组

省略代码:条件属性和预处理指令之间有啥区别?

为啥无论是不是满足 JavaScript 条件,我的 C# 代码都会运行? [复制]