JS之setAttribute和getAttribute

1.ele.getAttribute(attributeName);

返回元素的指定属性值,如果元素没有该属性,则返回null

2.ele.setAttribute(attributeName,value);

为元素指定属性设置值,如果没有该属性,则创建该属性,并赋值

3.在IE 7以及更早版本部分属性的设置应使用另外的名称,为了兼容IE

<script>
           dom=(function(){
           var fixAttr={
                  tabindex:‘tabIndex‘,
                  readonly:‘readOnly‘,
                  ‘for‘:‘htmlFor‘,
                  ‘class‘:‘className‘,
                  maxlength:‘maxLength‘,
                  cellspacing:‘cellSpacing‘,
                  cellpadding:‘cellPadding‘,
                  rowspan:‘rowSpan‘,
                  colspan:‘colSpan‘,
                  usemap:‘useMap‘,
                  frameborder:‘frameBorder‘,
                  contenteditable:‘contentEditable‘
           },

           //模拟设置attribute,
          div=document.createElement(‘div‘);
          div.setAttribute(‘class‘,‘t‘);

          var supportSetAttr = div.className === ‘t‘;

           return {
                   setAttr:function(el, name, val){
                        el.setAttribute(supportSetAttr ? name : (fixAttr[name] || name), val);
                   },
                   getAttr:function(el, name){
                        return el.getAttribute(supportSetAttr ? name : (fixAttr[name] || name));
                    }
              }
        })();

        window.onload=function(){
               var mydiv=document.getElementById("d1");
               dom.setAttr(mydiv, ‘class‘, ‘bg‘);
        }
    </script>

在IE 7以及更早版本中,setAttribute(‘class‘,‘fo‘);能为元素添加class=‘fo‘.

getAttribute(‘class‘);能返回fo值,但是为元素添加的类不起作用,应为IE 7及更早版本的类设置用className,而不是class

 4.

getAttribute(attributeName);不仅可以得到元素默认属性值,还能得到自定义属性值

ele.attributeName或者ele[‘attributeName‘]只能得到元素默认存在的属性值

5.

var node = ele.getAttributeNode(attributeName)得到属性节点

console.log(node);//name=value的形式

console.log(node.name);

console.log(node.value);

<body>
    <p id="p1" customData="pmx">ppp</p>
    <script>
       var p = document.getElementById("p1");
       var pnode = p.getAttributeNode("customData");
       console.log(pnode)
    </script>
</body>

6.ownerElement返回属性节点所附属的元素

语法:

  attrObj.ownerElement

时间: 2024-11-02 20:23:00

JS之setAttribute和getAttribute的相关文章

JavaScript常用的方法和函数(setAttribute和getAttribute )

仅记录学习的新知识和示例,无干货. 1.setAttribute和getAttribute          (Attribute:属性) setAttribute:为元素添加指定的属性,并为其赋值:如果指定的属性已经存在,则仅设置或改变它的值. 调用方法:element.setAttribute(attributeName,attributeValue) 这是一个方法,无返回值,IE8及以下不支持. getAttribute:返回指定属性名的属性值. 调用方法:element.getAttri

setAttribute和getAttribute

1. ele.getAttribute(attributeName); 返回元素的指定属性值,如果元素没有该属性,则返回null 2. ele.setAttribute(attributeName,value); 为元素指定属性设置值,如果没有该属性,则创建该属性,并赋值 3. 在IE 7以及更早版本部分属性的设置应使用另外的名称,为了兼容IE <script> dom=(function(){ var fixAttr={ tabindex:'tabIndex', readonly:'read

InvocationTargetException异常的深入研究-servlet的setAttribute与getAttribute

在某项目中,前端jsp传入的用户id数据通过session域传入后台servlet进行处理的过程中,无意间出现了InvocationTargetException异常 前端部分代码如下:测试代码,非原项目代码 1 // 登录处理源码 2 if ("student".equals(role)) { 3 // 学生登录 4 // 创建学生服务对象 5 StudentService ss = new StudentServiceImpl(); 6 // 调用服务中的登录进程 7 Studen

说说request.getParameter/setAttribute/getAttribute的区别

1.getAttribute是取得jsp中 用setAttribute設定的attribute 2.parameter得到的是string:attribute得到的是object 3.request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据:request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享.即request.getAttribute()方

session.setAttribute和session.getAttribute

网上搜了些资料 ----------------------------------------------------------------------------- B/S架构中,客户端与服务器连接,在服务端就会自动创建一个session对象. session.setAttribute("username",username); 是将username保存在session中!session的key值为“username”value值就是username真实的值,或者引用值. 这样以

request.setAttribute()、session.setAttribute()和request.getParameter()、request.getAttribute()的联系与区别

1.session.setAttribute()和session.getAttribute()配对使用,作用域是整个会话期间,在所有的页面都使用这些数据的时候使用. 2.request.setAttribute()和request.getAttribute()配对使用,作用域是请求和被请求页面之间. request.setAttribute()是只在此action的下一个forward需要使用的时候使用:request.getAttribute()表示从request范围取得设置的属性,必须要先

请求转发、包含、重定向 getAttribute 和 setAttribute POST和GET编码

 一.请求转发  请求包含  请求重定向 Demo5.java   注意:doPost()方法中别忘写doGet(request, response); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCo

放弃jQuery,使用原生js吧!

转自:http://itakeo.com/blog/2015/07/28/nojq/ 随着IE6.7.8的逐渐淘汰,HTML5的兴起,以及侧重点放在了移动端,jQuery可能变的不在那么重要,原生一样很好用.下面介绍几个原生替换jq的方法. 获取元素 JQuery $('.xxx'); //class获取 $('#xxx'); //id获取 $('.xxx.ccc'); //同时包含xxx和ccc $('.xxx,.zzz'); //多选 $('.xxx div'); //子类 $('.xxx

Filter不过滤CSS和JS

Filter是Java Web中用于禁止浏览器在未登录的情况下访问内部网址. 用法就不说了,看了下网上的用法基本都是贴的李刚的那本J2EE书上的代码. 需要注意的是,如果你直接设置  <url-pattern>/*</url-pattern>, 那么你的CSS和JS文件也会一同被过滤掉. 那么怎么样解决呢?网上又说建一个jspPage的文件夹把jsp页面放进去然后 设置 <url-pattern>jspPage/*</url-pattern>,我想说这个方法