javascript - Angular : How to use variable in HTML getElementById

标签 javascript html angularjs

我正在使用 ng-repeat 创建多个带有模式的 div,我通过 getElementById 打开它。当我对 id 进行硬编码(例如“modalId”)时,它可以工作,但如果我尝试使用变量则不起作用。我该如何让它发挥作用?

<div class="col-sm-4 col-md-4" ng-repeat="p in proj">
        <img class="myImg" ng-src="{{p.image}}" onclick="document.getElementById('{{p.id}}').style.display='block';">
        <div id="{{p.id}}" class="w3-modal" onclick="this.style.display='none';">
          <div class="w3-modal-content w3-animate-zoom">
            <img ng-src="{{p.image}}">
          </div>
        </div>
</div>

我想要使用的 p.id(第 2 行)是一个 int。

最佳答案

来自文档:不允许对 HTML DOM 事件属性进行插值。请改用 ng- 版本(例如 ng-click 而不是 onclick)。

请参见此处:https://docs.angularjs.org/error/$compile/nodomevents .

示例:

$scope.imgClicked = function(id){
    document.getElementById(id).style.display='block';
}

HTML:

<img class="myImg" ng-src="{{p.image}}" ng-click="imgClicked(p.id)">

关于javascript - Angular : How to use variable in HTML getElementById,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41510791/

相关文章:

javascript - 在表单提交时触发 Google 电子表格功能时遇到问题

javascript - Vuejs 和 Drupal

javascript - Angular js 中的数据绑定(bind)

javascript - Angular Material Design Layout 自定义尺寸

javascript - Angular 2组件执行顺序

javascript - 如何创建自定义 JS 函数以将 plotly 图像复制到 R shiny 中的剪贴板

jquery - 在 jQuery 中指定 canvas 元素的尺寸

javascript - 抵押贷款摊销付款计算

javascript - Jquery 数据表显示详细信息

javascript - AngularJS:通过路由参数化 Controller