如何在JavaScript函数中获取当前HTML元素的height和width属性

Shivagoy

我想访问当前htmlimg元素的height和width属性,ngClass基于该属性动态应用

我有此代码的html

<div class="cfg-pg-outer-box" ng-repeat="album in album_list">
    <div class="cfg-pg-photo-box">
        <img ng-src="{{album.thumbnail.image_path}}" ng-class="myclass(this)">
    </div>
</div>

我正在使用AngularJSngClass动态应用

$scope.myclass = function(element) {    
    return (element.width > element.height ? 'landscape' : 'portrait');
}

我无法读取width和height属性。你有什么建议吗?

dfsq

您尝试的问题在于,与常规HTML事件属性(例如和)不同onclickngClass它们具有不同的调用上下文。确切地说,this指向当前作用域对象。

在您的情况下,您应该编写一个自定义指令来读取/操作DOM元素。例如,简单的指令可能看起来像:

app.directive('dimentionClass', function() {
    return {
        link: function(scope, element) {
            var img = element[0];
            img.onload = function() {
                img.className = img.width > img.height ? 'landscape' : 'portrait';
            }
        }
    };
});

您将像这样使用它:

<img ng-src="{{album.thumbnail.image_path}}" dimention-class />

演示: http //plnkr.co/edit/GtklqTUvtbFxb6AFuz4S?p = preview

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Javascript中获取元素及其子元素的所有已计算的CSS属性

如何在javascript中获取HTML元素的样式值?

如何在JavaScript中获取DOM元素的HTML

如何在WebDriver中获取元素的当前内容

如何在angularjs中获取元素的当前位置

如何在Javascript中获取`html`元素?

为自定义HTML元素创建height和width属性

如何在reactjs中获取元素属性

如何在React中获取当前页码onPagechange函数

如何在离子中的html元素ID中获取当前的离子幻灯片?

如何在jQuery中获取当前选定元素的标记名

无法获取javascript函数中的HTML元素,但可以获取该元素的属性

如何在RAW JavaScript中获取元素的left / top属性?

HTML通过属性值JavaScript函数获取元素

在JavaScript函数中获取HTML DOM元素

如何在javascript中按类名获取html元素

如何在角度指令中获取当前的dom元素

如何在函数javascript中自行获取属性

javascript-如何使用jquery click仅获取许多html元素的当前索引和值?

如何在当前WebElement下获取特定的HTML元素

如何在angularjs的指令函数中获取当前的Controller $ scope?

如何获取当前元素属性

如何在javascript中获取HTML元素的值?

如何从image标签获取width和height属性?

如何在laravel中获取show函数的当前ID

如何在 JavaScript 和 HTML 中获取当前日期?

如何在 cypress 中获取 html 元素属性的值?

如何获取网站中 html 元素的 css 和 javascript

如何在 Chrome 扩展中的 javascript 中获取 HTML 元素