zoukankan      html  css  js  c++  java
  • javascript uuid技术

    这主要用于选择器过滤重复元素时用的。

    涉及三种可能的手段:sourceIndex,uniqueID与自定义的uuid。

    sourceIndex 获取元素节点在页面的出现顺序,即为其在document.all集合中的索引号。由于要准确获取先后位置,如果在其前面插入一个元素节点,那么它的位置就要加一。换言之,它是动态分配的,每次都要重复计算。注意,IE only,只读。

    uniqueID 也是一个IE only的只读属性。这个属性也不是早早就固化在元素节点中,只在我们第一次访问它时才开始为整个页面分配uniqueID。这意味着,如果我们用它来做选择器的过滤,第一次可能会很慢。另,document对象也具有这个属性,不过它和其它HTML的uniqueID属性的意义是完全不同的。当我们每调用一次document.uniqueID,系统就会返回一个新的uniqueID值。

     
      window.onload = function(){
            alert(document.uniqueID)//注意:IE only
            alert(document.uniqueID)
            alert(document.uniqueID)
        }
    

    这两个东西都是IE ony,而且只能用于HTMLDocument,因此我们注定要自行设计一个通行的方案。看jQuery是怎样实现的:

     
            var expando = "jQuery" + now(), uuid = 0,
            //*****************略*******************
            var id = elem[ expando ]
    

    不过在IE下,有些元素在添加自定义属性时会出错,如object,applet,embed。这比较作孽。

  • 相关阅读:
    VS2005下安装boost
    NOIP2017宝藏 [搜索/状压dp]
    SCOI2008奖励关 [状压dp]
    莫队算法解析
    SCOI2005 互不侵犯 [状压dp]
    Codeforces ----- Kefa and Dishes [状压dp]
    TSP问题之状压dp法
    NOI2001炮兵阵地 [状压dp]
    状压dp入门
    「网络流24题」餐巾计划问题
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/1685532.html
Copyright © 2011-2022 走看看