zoukankan      html  css  js  c++  java
  • 常用javascript dom操作

    以下代码不是最简洁的,但对于学习者来说更容易理解。

    JS如何获取指定DIV下的子元素LI值

    var div=document.getElementById('a');
    var ul=div.childNodes.item(0);
    var lis=ul.childNodes;
    for(var i=0;i<lis.length;i++){
    alert("Item "+i+": "+lis.item(i).innerHTML);
    }

    JS怎么获取当前点击的子元素的下标

    var child = document.getElementsByClassName("child");

    for (var i = 0; i < child.length; i++) {
        var a = child[i];
        a.index = i;//给每个className为child的元素添加index属性;
        a.onclick = function () {
            alert(this.index)
        }
    }
     
     
      

    原生JS实现addClass

    var classVal = document.getElementById("id").getAttribute("class");
    
    //删除的话
    classVal = classVal.replace("someClassName","");
    document.getElementById("id").setAttribute("class",classVal );
    
    //添加的话
    classVal = classVal.concat(" someClassName");
    document.getElementById("id").setAttribute("class",classVal );
    
    //替换的话
    classVal = classVal.replace("someClassName","otherClassName");
    document.getElementById("id").setAttribute("class",classVal );


      

    Object.prototype.hasClass = function(cls) {
    return this.className.match(new RegExp('(\s|^)' + cls + '(\s|$)'));
    };

    Object.prototype.addClass = function(cls) {
    if (!this.hasClass(cls)) this.className += " " + cls;
    };

    Object.prototype.removeClass = function(cls) {
    if (this.hasClass(cls)) {
    var reg = new RegExp('(\s|^)' + cls + '(\s|$)');
    this.className = this.className.replace(reg, ' ');
    }
    };

    Object.prototype.toggleClass = function(cls){
    if(this.hasClass(cls)){
    this.removeClass(cls);
    }else{
    this.addClass(cls);
    }
    };

    .aaa {
    background: red;
    }
    <div id="choumafen1" class="hsds">test div</div>
        function addClass(element,value){
    //如果元素类名为空,直接将value赋值给相应的元素类名
    console.log(element.className)
    if(!element.className){
    element.className = value;
    }else{
    //否则需要将类名之间用空格隔开
    newClassName = element.className;
    //多个类名间添加空格
    newClassName += ' ';
    newClassName += value;
    element.className = newClassName;
    }
    }
    var choumafen1=document.getElementById("choumafen1")
    addClass(choumafen1,'aaa')
    
    
    
    













    作者:
    https://zhidao.baidu.com/question/211012353.html
    https://zhidao.baidu.com/question/982131582421985059.html
    http://www.javascriptcn.com/read-1011.html

    如何用原生的js删除标签中的类名和添加类名?

    https://segmentfault.com/q/1010000002955089?sort=created
    原生js添加删除class
    http://blog.csdn.net/magicw3/article/details/45537725
  • 相关阅读:
    SpringMvc 大概流程分析
    HandlerMethodArgumentResolver 参数解析器
    linux 技巧:使用 screen 管理你的远程会话
    CentOS Linux解决Device eth0 does not seem to be present
    php连接oracle oracle开启扩展
    关于linux一些备份、还原,压缩,归档的命令
    Sphinx学习之sphinx的安装篇
    linux wget 命令用法详解(附实例说明)
    Linux的bg和fg命令
    linux中ctrl+z和ctrl+c的区别
  • 原文地址:https://www.cnblogs.com/geekjsp/p/7149238.html
Copyright © 2011-2022 走看看