【问题标题】:Angular: Refresh DOM after manupulating code using browser console javascriptAngular:使用浏览器控制台javascript处理代码后刷新DOM
【发布时间】:2022-07-11 18:51:36
【问题描述】:

一个网站是用 Angular.js 编写的,它们有过滤选项,默认情况下检查所有类别,没有“全部清除”过滤选项。

就像这个网站图片(这是亚马逊),他们有一个清除按钮,但是我想工作的网站(不能透露名称)没有清除所有过滤器按钮(网站是用 Angular 制作的) .

因此,我设法使用 Javascript 清除所有复选框,并使用在浏览器控制台中输入的此代码 sn-p 取消选中。

var inputs = document.getElementsByTagName('input');

for (var i=0; i<inputs.length; i++)  {
  if (inputs[i].type == 'checkbox')   {
    inputs[i].checked = false;
  }
}

在 Chrome 浏览器控制台中使用这个 sn-p,我能够取消选中所有复选框,但它没有对 dom 进行更改,并且产品没有被过滤。它们保持不变,就好像所有复选框仍然被选中一样。

有什么办法可以刷新DOM,在控制台日志中写入js sn-p,以便DOM可以检查更改并更新页面?

谢谢

【问题讨论】:

    标签: javascript angularjs dom browser-console


    【解决方案1】:

    您可能需要触发一个新的摘要循环,以便 AngularJS 接收更改。您可以通过获取元素的范围并触发它的 $apply 函数来做到这一点:

    angular.element('input').scope().$apply()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-31
      • 2021-06-05
      • 1970-01-01
      • 2011-07-14
      • 2018-07-10
      • 2021-08-22
      • 2020-06-30
      • 1970-01-01
      相关资源
      最近更新 更多