当前位置: 首页 > news >正文

AngularJs angular.element

angular.element

将DOM元素或者HTML字符串一包装成一个jQuery元素。

格式:angular.element(element);

element:包装成jquery对象的html字符串或者dom元素

jqLite提供的方法:

  • addClass()
  • after()
  • append()
  • attr()
  • bind() – 不支持命名空间,选择器和事件数据
  • children() – 不支持选择器
  • clone()
  • contents()
  • css()
  • data()
  • empty()
  • eq()
  • find() – 限定通过标签名称查找
  • hasClass()
  • html()
  • next() – 不支持选择器
  • on() – 不支持命名空间或选择器
  • off() –不支持命名空间或选择器
  • one() – 不支持命名空间或选择器
  • parent() – 不支持选择器
  • prepend()
  • prop()
  • ready()
  • remove()
  • removeAttr()
  • removeClass()
  • removeData()
  • replaceWith()
  • text()
  • toggleClass()
  • triggerHandler() -通过一个虚拟事件对象来处理。
  • unbind() – 不支持命名空间
  • val()
  • wrap()

事件

$destory:当Dom被移除时, Angular 拦截所以的jqLite或者jquery Dom对象,销毁api和事件。这个事件能在Dom被移除前用来清除任何Dom上的相关。

方法

controller(name):检索当前元素或其父元素的controller,默认情况下,检索与ngController相关的controller,如果name是以驼峰模式命名的指令名称,那么这个指令的controller就是这样(如’ngModel’) 。

injector():检索当前元素或其父元素的依赖注入。

scope():检索当前元素或其父元素的scope。

isolateScope():如果有一个scope直接附着在当前元素,检索一个隔离的scope,这仅用于元素包含一个创建了新的隔离的scope的指令,这个元素调用scope()总是返回原来的非隔离scope。

inheritedData():和data()一样,但是会沿着Dom走直到值被找到或者走到顶级Dom元素。(由此可见,应该是向上传播的意思。)

使用代码:

  <div ng-app="Demo">
    <div ng-controller="testCtrl as ctrl">
        <div id="myDiv">Hello World!!!</div>
    </div>
  </div
  (function () {
    angular.module("Demo", [])
    .controller("testCtrl", testCtrl);
    function testCtrl() {
      var element = angular.element("#myDiv");
      console.log(element)
      //element是个对象
      //第一个属性就是id为myDiv的div对象;
      //第二个属性名为content,值是document;
      //第三个属性名是length,值为1;第四个属性名是selector,值是"#myDiv"
    };
  }());

特别提醒哦,在controller里操作Dom是要剁手的...Ng如果需要对Dom进行操作则需要在指令里处理代码,像我们在Ng开发中封装一些jQuery插件使用时,也是通过指令来的。

angular.element把Dom元素或者HTML的字符串包装成jQuery对象,假如你在angular之前引用了jQuery,那么这就相当于jQuery的选择器了,你也可以把jQuery的一些dom操作对他使用;那么如果你就是这么任性,不引用jQuery呢?别着急,ng自带jqLite,上面也把jqLite对这个方法包装成的对象提供的一些方法都列出来了,有需要的可以去看看,不过毕竟是轻量版的,功能没那么齐全,如需更多操作,可在angular[.min].js文件之前引入jQuery文件。

相关文章:

  • CUDA学习笔记(五)
  • JVM探索(二)
  • Android布局
  • BootstrapValidator验证表单用法
  • Sublime text3官方插件汉化过程
  • PhantomJS快速入门
  • 破窗效应-谁在打破第一扇窗户?(转)
  • 日志记录-20151103
  • Javascript学习笔记①
  • Load和CPU利用率是如何算出来的 (转发)
  • 如何在Django1.8结合Python3.4版本中使用MySql
  • 百度ueditor 拖文件或world 里面复制粘贴图片到编辑中 上传到第三方问题
  • jQuery Jcrop API参数说明(中文版)(转)(图片剪切)
  • LD_LIBRARY_PATH 环境变量
  • python之模块contextlib 加强with语句而存在
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • android 一些 utils
  • CentOS7简单部署NFS
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Django 博客开发教程 16 - 统计文章阅读量
  • Docker: 容器互访的三种方式
  • express + mock 让前后台并行开发
  • Git的一些常用操作
  • java多线程
  • js中forEach回调同异步问题
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • PHP的类修饰符与访问修饰符
  • Shell编程
  • Vue实战(四)登录/注册页的实现
  • Web标准制定过程
  • 编写高质量JavaScript代码之并发
  • 后端_MYSQL
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 设计模式(12)迭代器模式(讲解+应用)
  • 深入浏览器事件循环的本质
  • 我的业余项目总结
  • 正则表达式
  • 正则学习笔记
  • #define
  • #前后端分离# 头条发布系统
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (C语言)fgets与fputs函数详解
  • (zt)最盛行的警世狂言(爆笑)
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • .CSS-hover 的解释
  • .NET delegate 委托 、 Event 事件
  • .pop ----remove 删除
  • [10] CUDA程序性能的提升 与 流
  • [2018-01-08] Python强化周的第一天
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [Android] 修改设备访问权限
  • [C++]:for循环for(int num : nums)
  • [Codeforces] combinatorics (R1600) Part.2