Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度控制器中的DOM操作_Javascript_Jquery_Angularjs_Dom - Fatal编程技术网

Javascript 角度控制器中的DOM操作

Javascript 角度控制器中的DOM操作,javascript,jquery,angularjs,dom,Javascript,Jquery,Angularjs,Dom,我正在访问控制器函数中的dom元素。由于我的控制器在呈现整个dom之前运行,所以像$(“.memos.inner”)之类的元素不会注册。所以我使用$(window).load,这非常有效 我的问题:在使用dom元素的angular中运行函数最合适的方法是什么?我知道在Angular中使用jQuery被人看不起。那么,做这件事的方法是什么呢$(“.memos.inner”)是已在我的视图中定义的元素 app.controller('useSpreadsheetData', function(){

我正在访问控制器函数中的dom元素。由于我的控制器在呈现整个dom之前运行,所以像
$(“.memos.inner”)
之类的元素不会注册。所以我使用$(window).load,这非常有效

我的问题:在使用dom元素的angular中运行函数最合适的方法是什么?我知道在Angular中使用jQuery被人看不起。那么,做这件事的方法是什么呢<代码>$(“.memos.inner”)是已在我的视图中定义的元素

app.controller('useSpreadsheetData', function(){

  $(window).load(function() {
    var slideIndex = 0;
    var slideCount = $(".memos .inner").children().length;
    var slideWidth = 100/slideCount;

    $(".memos .inner").css({width:slideCount * 100 + '%'});
    var holderWidth = slideCount*100;
    var increment = holderWidth/slideCount;

    //set the left position for each slide
    $(".memos .inner").find(".section").each(function(slide) {
      var left_pos = (slideWidth * slide) + '%';
      $(this).css({"left":left_pos});
      $(this).css({"width": slideWidth + '%'});
    });
  });

});

很明显,你在“如何做”这本书的第1章第1页。阅读《angularIt》中的
ngClass
ngStyle
和其他一些基本功能,具体取决于您所使用的版本。您希望使用-v1或-v2。您应该注意,在v1
angular.element
中,元素是jQuery lite包装器的别名,因此可以使用
angular.element('selector')[0]
@AndreiGheorghiu访问DOM元素,谢谢
angular.element('.memos.inner')[0])
似乎只有在我也使用window时才起作用。是否有其他更适合角度的解决方案?使用ngStyle或ngClass?不,这些只是对
$scope
属性的绑定,这些属性将得到评估,以便输出
样式
属性或类。我会在回答中解释的。无法将其放在评论中:)@AndreiGheorghiu谢谢。我正在寻找一个不需要timeout或window.load就可以在angular中更改dom元素的答案。