Javascript 如何取消选中“全部”;md复选框“;(不是真正的复选框)在Greasemonkey脚本的HTML页面上?

Javascript 如何取消选中“全部”;md复选框“;(不是真正的复选框)在Greasemonkey脚本的HTML页面上?,javascript,angularjs,greasemonkey,Javascript,Angularjs,Greasemonkey,在浪费了无数汗流浃背的时间,咒骂我唯一可以使用的食品店的名称,以及他们如何在每次页面加载时不断检查他们的用户恶意选项之后,无论我取消选中多少次,无论我报告这个“错误”多少次(这是故意的),我只是被迫向各位专家寻求帮助 该网页不使用真正的HTML复选框,而是他们称之为“md复选框”的东西。这是一个“AngularJS”的东西。AngularJS手册没有解释任何内容,我一直在浏览的众多网页(包括堆栈溢出问题)也没有解释任何内容。这些看似相关的代码片段除了在控制台中转储各种错误外,没有其他功能 这是我

在浪费了无数汗流浃背的时间,咒骂我唯一可以使用的食品店的名称,以及他们如何在每次页面加载时不断检查他们的用户恶意选项之后,无论我取消选中多少次,无论我报告这个“错误”多少次(这是故意的),我只是被迫向各位专家寻求帮助

该网页不使用真正的HTML复选框,而是他们称之为“md复选框”的东西。这是一个“AngularJS”的东西。AngularJS手册没有解释任何内容,我一直在浏览的众多网页(包括堆栈溢出问题)也没有解释任何内容。这些看似相关的代码片段除了在控制台中转储各种错误外,没有其他功能

这是我的总体结构:

function turn_the_damn_things_off()
{
    var checkboxes = document.getElementsByTagName('md-checkbox');

    for (var i = 0; i < checkboxes.length; i++)
    {
        // I have tried countless things here, but nothing works. The checkboxes are never unchecked. I am, however, certain that the code here executes.
    }
}

setInterval(turn_the_damn_things_off, 500);
函数关闭该死的东西()
{
var checkbox=document.getElementsByTagName('md-checkbox');
对于(变量i=0;i
我在一段时间内这样做的原因是,它们似乎不是立即被重新检查,而是在页面加载大约一秒钟后被重新检查。

for(var I=0;Ifor (var i = 0; i < checkboxes.length; i++)
{
  let x = checkboxes[i];
  if(x.getAttribute("aria-checked") === "true")
    x.classList.toggle("md-checked");
}

{ 设x=复选框[i]; if(x.getAttribute(“选中的aria”)=“true”) x、 切换(“md选中”); }
用于(变量i=0;i
正确的方法是在元素上使用冒泡
dispatchEvent
。可能还有一些额外的修修补补阴影。添加一段HTML摘录,其中包含整个DOM链的截图和/或页面链接。正如wOxxOm所说,Angular有自己的隐藏HTML DOM,而您看到的HTML只是它的投影。您需要调度假单击事件来触发单击事件,它可能不仅需要“单击”,还需要“mouseup”和“mousedown”才能工作。正确的方法是在元素上使用冒泡
dispatchEvent
。可能还有一些额外的修修补补阴影。添加一段HTML摘录,其中包含整个DOM链的截图和/或页面链接。正如wOxxOm所说,Angular有自己的隐藏HTML DOM,而您看到的HTML只是它的投影。你需要显示假点击事件来触发点击事件,它可能不仅需要“点击”,还需要“鼠标点击”和“鼠标下移”才能工作。非常感谢。尽管我接受了这个答案,但toggle()实际上一直在再次打开它们。有没有一个不是“切换”而是“设置”的呢?我发现了:将toggle()更改为remove()使其工作。谢谢我希望这不仅仅是“视觉”,尽管…这只是视觉。非常感谢。尽管我接受了这个答案,但toggle()实际上一直在再次打开它们。有没有一个不是“切换”而是“设置”的呢?我发现了:将toggle()更改为remove()使其工作。谢谢我希望这不仅仅是“视觉”,尽管…它只是视觉。