在$httpAngular.js之后使用jquery处理生成的DOM代码
Process generated DOM code using jquery after $http Angular.js
我有下一个问题:在我使用$http方法发出请求后,我试图通过angular访问和修改dom生成的html。
示例:
function Player($scope, $http) {
var $player = $(".player");
var _this = this;
var playing = false;
console.log('pepe');
// Getting Songs
$http.get('http://www.undert.com/components/player/js/songs.json').success(function (data) {
$scope.songs = data.songs;
console.log($player.find('li').length);
});
}
HTML是:
<div class="player" ng-controller="Player">
<ul class="playlist">
<li ng-repeat="song in songs">
<div class="album-art">
<div ng-show="!song.image">
<img src="http://undert.com/components/player/img/album_default.jpg" alt="{song.band}" />
</div>
<div ng-show="song.image">
<img src="http://undert.com/artists/{song.namespace}/images/albums/{song.image}" alt="{song.album}" />
</div>
</div> <a class="reproduction"></a>
<a class="close"></a>
<span class="title">{song.title}</span>
<span class="artist">{song.artist}</span>
<audio src="http://undert.com/artists/{song.namespace}/music/{song.song}"></audio>
</li>
</ul>
<div class="buttons">
<div class="play"></div>
<div class="prev"></div>
<div class="next"></div>
</div>
</div>
但当我试图在中读取我生成的代码时
<li ng-repeat="song in songs">
使用jquery我不能(它还不存在,但我试图在$http方法的"success"回调中做到这一点)。当我不使用$http并在我的Player函数中对jsqon进行硬编码时,这非常有效。
感谢
我建议您使用$timeout,如下所示:
$timeout(function(){ console.log($player.find('li').length); });
这基本上会使您的调用只在Angular完成生成新DOM结构后发生。另外,$timeout必须像$http一样注入控制器中,因此您的控制器声明应该像一样lokk
function Player($scope, $http, $timeout) {
相关文章:
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 如何在 JavaScript 代码中调试点击事件处理
- 如何在为表单输入分别处理$(this)和$时编写DRY代码
- 为什么我的.blur()代码只处理第二个模糊
- 即使被信号处理程序中断,node.js代码也会一直运行到完成吗
- 通过从文本区域获取代码,在画布中运行处理代码
- 将处理代码链接到 javascript,同时保持 pde 文件的独立
- 处理由无法访问的代码创建的来自Webworker的消息
- 如何删除DOM事件处理程序的重复JavaScript代码
- Promise处理程序中的同步代码
- Don'在追加后,我无法处理jQuery代码
- AJAX自定义错误处理代码问题
- 如何将批处理代码与 vbscript 代码合并
- 处理代码在本地工作,但在javascript中不工作
- 我应该使用Javascript SDK FB处理代码吗?login POP-UP还是自动处理以获得access_toke
- Jquery事件处理代码在将脚本从外部js文件包含在head中之后将无法工作
- 我该如何处理?代码不验证:没有脚本来弥补JS的不足,但也为移动用户提供了便利
- 使用请求/处理代码加载JS数组的更快方法
- 在不处理代码的情况下扩展Markdown标记
- 此事件处理代码是否适用于所有触摸设备