- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
前面的问题很大,所以让我们分解一下。我尝试实现与 native 类似的行为 <label>
对于 <input>
.我不能嵌套它们,所以我使用这样的样式:
<input type="checkbox" id="test" />
Some other content...
<label for="test">Lorem ipsum</label>
以我为例 <label>
是自定义指令,<input>
是任意元素。它可能看起来像这样:
<p id="test">Some element...</p>
Some other content...
<custom-directive for="test">My directive</custom-directive>
可悲的是我的id
不是真正静态的。它是一种表达。它可能看起来像这样:
<p id="test-{{ foo }}">Some element...</p>
Some other content...
<custom-directive for="test-{{ foo }}">My directive</custom-directive>
现在我的问题是:里面 <custom-directive>
我想获取 for
中配置的元素属性。让我们说 foo
具有值 "bar"
设置在 $rootScope
里面<custom-directive>
我得到 foo-bar
.但是,无论我在哪里尝试(在 compile
、 link
、 controller
内,有或没有 priority
等),特定元素(此处为 <p>
)仍然有 test-{{ foo }}
那时,所以我得到null
与 getElementById
.
如果元素有一个 id
,我怎样才能得到指令外的元素?包含表达式?
这是一个例子:http://jsfiddle.net/cd6uooze/
(注意:在我的真实世界应用程序中,这个问题略有不同。我实际上可以 getElementById
来自指令的正确元素,即使它 id
包含一个表达式。然而,这只在特定模板在里面时有效$templateCache
。我无法在 JSFiddle 中真正分解它,但它与 JSFiddle 中的示例非常相似。)
最佳答案
您需要在 $timeout
检查此更新 fiddle .
关于javascript - Angular : How to get an element by id with an expression from a directive?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27984403/
我是一名优秀的程序员,十分优秀!