来自于《sencha touch 权威指南》

-----------------------------------

除 append 和 overwrite 外,还可以使用 insertBefore 方法与 insertAfter 方法在目标元素之前或之后追加元素。app.js代码如下:

  1. Ext.require(['Ext.form.Panel','Ext.Toolbar']);
  2. Ext.application({
  3. name: 'MyApp',
  4. icon: 'images/icon.png',
  5. glossOnIcon: false,
  6. phoneStartupScreen: 'images/phone_startup.png',
  7. tabletStartupScreen: 'images/tablet_startup.png',
  8.  
  9. launch: function(){
  10. var bcnt = 0;
  11. var acnt = 0;
  12. var bias = 3;
  13. var bchar = 'M';
  14. var achar = 'W';
  15.  
  16. var before = function(){
  17. Ext.DomHelper.insertBefore('insert-target',{
  18. cls: 'add',
  19. html: Ext.util.Format.leftPad(bchar,bcnt*bias,bchar)
  20. });
  21. bcnt++;
  22. };
  23.  
  24. var after = function(){
  25. Ext.DomHelper.insertAfter('insert-target',{
  26. cls: 'add',
  27. html: Ext.util.Format.leftPad(achar,acnt*bias,achar)
  28. });
  29. acnt++;
  30. };
  31.  
  32. var remove = function(){
  33. var elems = Ext.DomQuery.select('.add');
  34. Ext.each(elems,function(item,index,array){
  35. Ext.removeNode(item);
  36. });
  37. bcnt = acnt = 0;
  38. };
  39.  
  40. var myToolbar = Ext.create('Ext.Toolbar',{
  41. docked: 'top',
  42. items: [{
  43. xtype: 'button',
  44. text: '追加(before)',
  45. handler:before
  46. },{
  47. xtype: 'button',
  48. text: '追加(after)',
  49. handler: after
  50. },{
  51. xtype: 'button',
  52. text: '删除',
  53. handler: remove
  54. }]
  55. });
  56.  
  57. var html = "<div class='body' style='padding:15px;'>";
  58. html += "<h1>在指定的元素前后追加元素</h1>";
  59. html += "<div id='insert-target'>";
  60. html += "<hr />";
  61. html += "</div>";
  62. html += "</div>";
  63.  
  64. var myPanel = Ext.create('Ext.Panel',{
  65. id: 'myPanel',
  66. title: '通过DomHelper组件追加元素',
  67. html: html,
  68. items: [myToolbar]
  69. });
  70.  
  71. Ext.Viewport.add(myPanel);
  72. }
  73. });

使用 insertBefore 和insertAfter,在指定位置追加与删除元素的更多相关文章

  1. javascript数组在指定位置添加和删除元素

    在JavaScript中,Array对象提供了一个强大的splice()方法,利用这个方法可以达到在数组的指定位置添加和删除元素的目的. 指定位置删除元素 要在指定位置删除元素,可以使用splice( ...

  2. Dom4j向XML中指定位置添加、删除、修改节点——(五)

    需求: 在第一本书作者后面增加描述 <描述>好书</描述>  思路:获取书下面下的所有节点(一个list集合),在list集合指定位置添加一个元素(list.add(index ...

  3. Python3基础 list insert 在指定位置挤入一个元素

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  4. js滚动到指定位置显示或隐藏元素

    $(function(){ $(window).scroll(function(){ var scroll_top=$(window).scrollTop(); console.log(scroll_ ...

  5. 通过scrollTop,使子元素滚动至指定位置

    想实现这样的一个功能,点击子元素,让元素滚动至指定位置,怎么实现呢? 在代码实现之前,先了解下相关关键点. 1.scrollHeight 属性 通过 scrollHeight 属性可获得子元素的滚动高 ...

  6. js 给json添加新的字段,或者添加一组数据,在JS数组指定位置删除、插入、替换元素

    JS定义了一个json数据var test={name:"name",age:"12"};需要给test再添加一个字段,需要什么办法,可以让test的值为{na ...

  7. ArrayLIst在指定位置插入的内部实现

    今天看到一个问题:ArrayList的add方法有两种使用,那么add到指定位置内部是怎么实现的? 发现自己对这块地方不熟悉,所以立马去看了ArrayList下的源码 // 第一个 public bo ...

  8. javascript的insertBefore、insertAfter和appendChild简单介绍

      target.insertBefore(newChild,existingChild)参数说明:1.target:被添加节点和现有节点的父节点.2.newChild:将要被插入的节点.3.exis ...

  9. JS-向数组指定位置添加元素

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

随机推荐

  1. Mac 及 Xcode快捷键

    mac快捷键: 窗口最大化:control+command+F 窗口最小化:command+M 关闭当前:    command+W 退出程序:    command+Q Safari往下翻页:空格 ...

  2. 【LeetCode】129. Sum Root to Leaf Numbers

    Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...

  3. Base64加密算法

    Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法.可查看RFC2045-RFC2049,上面有MIME的详细规范. Ba ...

  4. MSSQL使用sqlbulkcopy批量插入数据

    具体代码如下: /// <summary> /// 批量插入数据到BayonetZipFailedPic表 /// </summary> /// <param name= ...

  5. Linux添加路由

    在Linux的VM中可以添加.删除路由. 中如图的拓扑结构中需要在中间的VM上添加路由,使最左边的VM和最右边的VM实现互通. 在这台VM上需要添加IP Forwarding的功能,在操作系统中也需要 ...

  6. java里的MouseLisetener接口的使用过程==========需要用组件是来注册侦听器

    总结:通过匿名类来实现鼠标的监听或者  通过实现接口的方法都可以的 从此是实现MouseListener接口的方式 package com.a.b; import java.awt.Color; im ...

  7. [Android]异步任务AsyncTask使用解析

    AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用. AsyncTask是个抽象类,使用时需要继承这个类,然后调用execute()方法.注意继承时需要设定三个泛型P ...

  8. Linux机器工作环境安装

    安装gcc编译器: yum -y install gcc 安装wget: yum -y install wget 安装python-setuptools: wget http://peak.telec ...

  9. 微信小程序之本地缓存

    目前,微信给每个小程序提供了10M的本地缓存空间(哎哟妈呀好大) 有了本地缓存,你的小程序可以做到: 离线应用(已测试在无网络的情况下,可以操作缓存数据) 流畅的用户体验 减少网络请求,节省服务器资源 ...

  10. PCA主成分分析 ICA独立成分分析 LDA线性判别分析 SVD性质

    机器学习(8) -- 降维 核心思想:将数据沿方差最大方向投影,数据更易于区分 简而言之:PCA算法其表现形式是降维,同时也是一种特征融合算法. 对于正交属性空间(对2维空间即为直角坐标系)中的样本点 ...