Javascrip動態添加樣式,Dom操作,獲取自定義屬性


    var layer=document.querySelector('.layer')
添加樣式:
  添加單個樣式:
    layer.style.display="block"
  添加多個樣式:
    layer.style="width:100px;height:100px;background:#2ea6df;"

獲取style:第一個參數為節點元素,第二個元素默認為null

   window.getComputedStyle(this.$refs.previewImg,null).width
操作class:
  setAttribute()會覆蓋已存在的class,一般適用於一個class的樣式
    document.getElementById('box').setAttribute("class","active")
  classList()不會覆蓋
    document.getElementById('box').classList.add("active");

  移除class
    document.body.classList.remove('active');
  如果存在active,移除返回false,不存在添加active,返回true
    document.body.classList.toggle('active');
  判斷類名是否存在,存在返回true,不存在返回false
    document.body.classList.contains('active');

  

移除class,屬性

   document.getElementById('box').removeAttribute("class","active");

獲取html屬性值
  獲取html屬性的值
    layer.getAttribute('class')
  獲取html自定義屬性的值
    layer.getAttribute("data-id")

getElementsByClassName的兼容寫法
function getElementsByClassName(clsName,parent){
  if (document.getElementsByClassName) {
    // 使用現有方法
    return document.getElementsByClassName(clsName);
  }else{
    var oParent=document.getElementById(parent)||document;
    var elements=oParent.getElementsByTagName("*");
    var ele=[];
    for(var i=0;i<elements.length;i++){
      if(elements[i].className==clsName){
        ele.push(elements[i]);
      }
    }
      return ele;
  }
}
console.log(getElementsByClassName('a'))


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM