javascript - 覆盖动态创建的元素的内部样式表
问题描述
我有一个angularjs
组件,第三方库canvas
在组件的 html 文件内部创建。以下是canvas
第三方库在页面加载时创建的。
<canvas style="width: 410px; height: 450px;"></canvas>
我目前的解决方案是,我在回调方法中设置更改CSS
以下方式。$postLink
var elem= angular.element(document.querySelector('#fooSelector canvas'));
elem.css('width', '420px');
但是我在某个地方读到了变化CSS
,并且DOM
在内部angularjs
controller
进行操作并不是一个好习惯。
那么如何更改inline CSS
由某些第三方库动态创建的元素
解决方案
在 angularjs 控制器中更改 CSS 和操作 DOM 不是一个好习惯
这只是初学者的常见说法,这并不意味着你不能或你不应该 - 这意味着如果有更好和更简单的方法你不应该。
当您创建主要目的是包裹画布之类的组件时,更改它的位置、宽度或其他任何东西是绝对正常的。
尽管使用查询选择器并不好 - 假设您在页面上有 2 个这样的组件,那么您将始终选择第一个画布。所以最好使用$element.find:
$element.find('canvas').css('width', '420px');
推荐阅读
- ios - ITMS-90078:缺少推送通知权利
- javascript - NPM 网站 - 发布了一个新包但无法查看其页面?
- matlab - 对于时间序列图,如何将 x 轴设置为没有周末的日历时间
- ios - 循环遍历 NSArray 并复制到新的 swift Array
- mysql - MYSQL Workbench 不断为“id”列导入非法字符
- npm - npm install 时总是失败
- javascript - 反应路由器没有正确路由
- javascript - 将 jQuery 值设置为的“项目”属性
- python - 在 python 中从 c/c++ 获取和存储 stdout printf() 函数
- c# - 如何在不出现对象引用错误的情况下使变量成为非静态变量?(初级编码员)