【发布时间】:2015-10-07 09:18:50
【问题描述】:
我有以下 HTML:
<div class="custom-select">
<div class="custom-select-placeholder">
<span id="placeholder-pages">Show all posts</span>
</div>
<ul class="custom-select-list animate-show no-padding no-margin" >
<li ng-click="selectItem($event)">Show all posts</li>
<li ng-click="selectItem($event)">Events</li>
<li ng-click="selectItem($event)">Files</li>
<li ng-click="selectItem($event)">Pictures</li>
<li ng-click="selectItem($event)">Thoughts</li>
</ul>
</div>
当我点击一个“li”项目时,我需要获取它的 innerHTML 并将其 id 为“placeholder-pages”的 span 的 innerHTML 设置为获取的值。
为此,我在控制器中编写了以下函数:
$scope.selectItem = function(evt) {
var selected = evt.target.innerHTML; //working
var placeholder = document.getElementById('placeholder-pages'); //working
placeholder.innerHTML = selected; //not working
}
在函数中,我可以获取选定的“li”的 innerHTML 以及“占位符页面”的 div。但我无法设置 div 的 innerHTML。我没有收到任何错误。什么都没有发生。
【问题讨论】:
-
希望我能提供更多帮助,但如果您正在使用 Angular,您不应该需要 innerHTML - 您让自己的事情变得比您需要的更难
-
是的,其实我是用ng-bind解决的,但是很好奇为什么上面的代码不起作用。
标签: javascript html angularjs innerhtml