javascript - remove() on img with ng-src, border remains?

标签 javascript html css angularjs

我有一些 ng 重复的图像。

<img ng-src="{{::data.image}}" />

CSS:

.thumbnailImage {
  width: auto;
  max-width: 20px;
  height: auto;
  max-height: 20px;
  border: 1px solid lightslategrey;
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  background-color: white; /* in case of png */
  }


部分 {{data.image}} 为空。我想删除那些。

<img ng-src="{{::data.image}}" onerror="this.remove()" />

但是,当我这样做时,图像上的 1px 边框仍然存在吗?

在此之前,我有一个 ng-if 语句 (ng-src != null),但我发现它在 angular watchers 中太昂贵了。

https://jsfiddle.net/8ykrkc3c/

最佳答案

您的 onerror 处理程序不正确。请注意,它不再是 Angular 属性,因此您不能使用 angular.element.prototype.remove方法。相反,您需要使用良好的旧 native DOM 方法,在您的情况下 removeChild :

<img class="asd" ng-src="{{::data.image}}" onerror="this.parentNode.removeChild(this)" />

演示: https://jsfiddle.net/8ykrkc3c/2/

关于javascript - remove() on img with ng-src, border remains?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36834527/

相关文章:

javascript - jquery - 检查之前或之后是否有禁用元素

javascript - 使用 WebGL 进行实时 DEM 数据渲染

html - 使用 Grunt.js 的部分静态 HTML 编译

css - Twitter Bootstrap 模式打开/关闭导致固定标题跳转

javascript - 在执行代码之前等待 promise 解决

Javascript onClick 触发两个事件

javascript - 如何修复弹出窗口中的 <option> 列表?

html - Bootstrap 3 站点布局图像网格

javascript - 如果没有值,则在 p 标签内显示默认文本

jquery - 添加背景图片和边框图片到表单中