javascript - 在 AngularJS 中运行时设置 HTML 元素的宽度

标签 javascript angularjs

我需要在运行时通过 AngularJS 中的 Controller 设置 HTML 元素的宽度。我的 Controller 在我的指令中定义。我知道我需要在指令中设置第一个 ul 元素的宽度。目前,我有以下内容:

var list = $element.find('ul');
$element(list[0]).css('width', '300px'));

但是,当我尝试这样做时,我收到一条错误消息:

TypeError: object is not a function

我做错了什么?我如何在运行时在 AngularJS 中设置 HTML 元素的宽度?

谢谢!

最佳答案

你不需要 JQuery 来做你想做的事,AngularJS 有 jqlite。如 AngularJS Developer's Guide for directives 中所述:

element is the jqLite-wrapped element that this directive matches.

因此它应该能够执行 jQuery 能够执行的大部分功能,如 angular.element() documentation 中所定义的那样.

文档未能定义的是,用于查找元素的 jqlite 版本返回一个 HTML 元素数组。因此,您必须使用 jqlite 功能对要在该数组内操作的每个元素使用 angular.element()。所以代码一般应该是这样的:

DEMO

   var list = elem.find('ul');
   angular.element(list[0]).css('width', '300px');

关于javascript - 在 AngularJS 中运行时设置 HTML 元素的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26260081/

相关文章:

jquery - 如何使 Twitter Bootstrap 按钮组与 AngularJS 一起工作?

javascript - jQuery,仅从 id 中选择数字,如 "article-23"

javascript - Angular - 如何在 Angular ui Accordion 上正确应用 is-open 属性?

javascript - knockoutjs - 单击事件的多个绑定(bind)

javascript - 性能 : Calculating Div Positions

angularjs - Angular-1.5.x 组件树的加载是如何工作的?

javascript - 如何使这个展开/折叠常见问题解答列表起作用?

javascript - AngularJS Dependency Injection 在哪里指定?

javascript - 如何使用 $http.post 将 json 数据发布到 php 脚本

Angularjs : sorting shows different result in chrome and firefox browser