在国外一博客看到的技巧,终于解决IE的这个老大难问题。我在IE的setAttribute bug也提到其解决方法,一是innerHTML,一是IE特别的creatElement使用方法,不过都是要求在生成DOM时一同搞定name属性,这种在DOM生成后再修改name属性的方法真是高明啊。

介绍一下mergeAttributes 方法。它有两个参数oSource与 bPreserve :

mergeAttributes
oSource IE5.0 必选项。对象(Element)。指定属性要被复制到 object 的对象。
bPreserve IE5.5 可选项。布尔值(Boolean)。 false :  不保护目标对象的身份属性(id,name)。 true : 默认值。保护目标对象 object 的身份属性。

mergeAttributes方法能把oSource 对象的所有属性,包括自定义属性,依附在其上面的事件与样式都复制过,在 IE5.0 及之前的版本中,只读属性不会被复制。如 id 属性。 在 IE5.5+ 中,通过设置 bPreserve 参数值为 false ,可以使 oSource 的所有属性被复制到 调用此方法的对象上 ,包括id属性和 name属性。


//下面代码会把新生成的input对象的name属性复制到inputObject对象上。
inputObject.mergeAttributes(document.createElement("<input name='nasami' />"))

下面是一个完美的设置属性的方案

 var setAttribute = function(obj,attrName,attrValue){if("!+\v1" && attrName === "name"){obj.mergeAttributes(document.createElement("<input name='" + attrValue + "'/>"), false);}else{if(obj.setAttribute){obj.setAttribute(attrName,attrValue);}else{obj[attrName] = attrValue;}   }         }

利用mergeAttributes设置name属性相关推荐

  1. java判断对象无数据_java利用反射机制判断对象的属性是否为空以及获取和设置该属性的值...

    1.java利用反射机制判断对象的属性是否为空: Map validateMap = new LinkedHashMap(); validateMap.put("serial", ...

  2. cmake(14):利用set_property命令设置全局属性

    目录 说明 简单示例 main.c property.c 根目录下的 CMakeLists.txt 子目录下的 CMakeLists.txt set_property() 命令 get_propert ...

  3. cookie设置httponly属性防护XSS***

    ***者利用XSS漏洞获取cookie或者session劫持,如果这里面包含了大量敏感信息(身份信息,管理员信息)等,***这里用获取的COOKIE登陆账号,并进行非法操作. COOKIE设置http ...

  4. 利用反射操作bean的属性和方法

    今天在开发中碰到这样一个场景:当请求添加项目下的目录时,传过来的是一个IndexModel,这个Model里有关于这个目录字段的详细信息,包括基础报表,实时,漏斗等信息(这些字段类型都是boolean ...

  5. C#通过属性名字符串获取、设置对象属性值

    目录 #通过反射获取对象属性值并设置属性值 0.定义一个类 1.通过属性名(字符串)获取对象属性值 2.通过属性名(字符串)设置对象属性值 #获取对象的所有属性名称及类型 #判断对象是否包含某个属性 ...

  6. matplotlib之pyplot模块——获取/设置对象属性值(setp()、getp/get())

    当前有效matplotlib版本为:3.4.1. 概述 pyplot模块提供了获取/设置对象属性值的接口.功能类似于Python内置函数getattr和setattr.从源码上来看,get()是get ...

  7. html怎么让图片变灰色,利用CSS设置图片黑白/灰色效果,同时适用于整站变灰

    写页面的时候由于页面风格原因,可能需要图片变灰色,如果用图片处理软件的话可能会比较麻烦,而且会增加图片的数量,不利于资源的合理利用. 下面提供两种方法: 1.使用CSS的 filter: gray;  ...

  8. Cookie设置HttpOnly属性

    在Servlet 3.0中增加对Cookie(请注意,这里所说的Cookie,仅指和Session互动的Cookie,即人们常说的会话Cookie)较为全面的操作API.最为突出特性:支持直接修改Se ...

  9. 设置打印机属性打印课件的方法——一页显示9张PPT幻灯片

    设置打印机属性打印课件的方法 1)通常情况下打印课件(PPT)方法(如图一) 文件->打印->打印内容->讲义 设置打印内容为讲义,每页6张或9张,但是打印出的效果都不是很好,一页上 ...

最新文章

  1. 【Vegas原创】导出Excel时,如何将数字格式转为文本格式?(07.12.13 Update)
  2. QPS相关的概念收集(吞吐量(TPS)、QPS、并发数、响应时间(RT))
  3. 又一访问access
  4. java tcp发消息给硬件_java – TCP客户端/服务器通信只发送第一条消息?
  5. 高通骁龙cpu排行_高通骁龙865深度解读:CPU、GPU、内存全新升级
  6. java url 授权_Java:如何使用UrlConnection发布请求与授权?
  7. 用python的pandas打开csv文件_使用CSV模块和Pandas在Python中读取和写入CSV文件
  8. JAVA核心技术36讲教程
  9. 【QGIS】无法定位程序输入点~于动态链接库~上
  10. Landsat数据下载+USGS
  11. 飞信的 SIP 协议分析
  12. (转)日期插件layDate的使用
  13. 海致大数据京信_海致网聚提出公安大数据背景下的个人计算新理念
  14. 微信现已开通手表及手环支付
  15. 个人技术总结——Unity中角色动画制作及动画切换逻辑的实现
  16. 阿里云云计算工程师ACA认证(Alibaba Cloud Certified Associate - Cloud Computing)考试大纲-V3.0
  17. PAT甲级 1151 LCA in a Binary Tree (30分) LCA算法/C++
  18. regionserver.HRegionServerCommandLine: Region server exiting
  19. 倍福PLC模拟量输入模块的使用方法
  20. Android_学习安卓必备网址

热门文章

  1. CreateThread与_beginthreadex本质区别
  2. matlab和本机MySQL链接
  3. Java基础:Util包下常用的数据结构介绍
  4. Linux下如何用GDB调试c++程序 [版本2]
  5. 大数据开发笔记(九):Flink综合学习
  6. BI工具的主要功能都有哪些
  7. 高效集成连接管理与平台运营 中琛物联赋能智慧城市建设
  8. android程序安装空间不足,AndroidStudio提示磁盘空间不足
  9. matlab偏微分方程工具箱求解
  10. java 栈_Java实现单链表、栈、队列三种数据结构