【问题标题】:AngularJs - Set div and textarea height by Id. both have same IdAngularJs - 按 ID 设置 div 和 textarea 高度。两者都有相同的ID
【发布时间】:2018-03-02 17:35:26
【问题描述】:

我的 html div 和 textarea 有相同的 ID,它是由某些插件自动生成的。

已经在互联网上搜索过,但大多数结果都是基于给定代码的角度标签

<div id="wrapper" set-height>

喜欢这个

.directive('setHeight', function($window){

我的需要只是想通过使用 Angularjs 为它们设置高度。 div 应该是这样的

<div id="wrapper">

【问题讨论】:

  • “两者都有相同的 id”...那是你的问题
  • @AlonEitan 这些是由 textangualar 生成的动态元素
  • 问题是你有多个具有相同 ID 的元素,而 id 属性的全部目的是在 DOM 中是唯一的,如果你有多个 id,那么你应该使用class 属性来选择它们 - 我不知道这是否真的是原因,但我确信这是对 id 属性的无效使用

标签: javascript html angularjs angularjs-directive


【解决方案1】:

假设您的divtextarea 具有以下代码,

<div id="wrapper">
    <h1>Hello World</h1>
</div>
<textarea rows="10" col="5" id="wrapper"></textarea>

要为它们提供单独的 css 样式,您可以在 css 文件中执行以下操作:

div#wrapper {
   background-color: yellow;
}

textarea#wrapper {
   background-color: green;
}

所以,如果你想使用 AngularJs 做同样的事情,你可以使用 document.querySelector() 函数获取元素并使用 myEle.css() 方法更改样式,如下所示:

var divWrapperElement = angular.element(document.querySelector('div#wrapper'));
divWrapperElement.css('background-color','yellow');
var textareaWrapperElement = angular.element(document.querySelector('textarea#wrapper'));
textareaWrapperElement.css('background-color','green');

希望这会有所帮助..!!

【讨论】:

  • 我尝试了代码,但在按下resize 按钮时看不到任何变化。但请尝试使用不带 id 的 div。我的意思是,与其写'div#'+Id,不如只写'div'
猜你喜欢
  • 2012-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多