zoukankan      html  css  js  c++  java
  • Js根据class名替换html标签内容 ,在某标签前后添加内容

    function getClass(obj, attr) {
            var aArray = [];//定义一个新的空数组  
            var i = 0;
            var aAll = document.getElementsByTagName('*');//获取obj对象下面所有的节点  
            for (i = 0; i < aAll.length; i++) {
                if (aAll[i].className == attr) {//判断当前对象的class名称是不是符合传进来的参数  
                    aArray.push(aAll[i]);//如果符合则push到到aArray数组里边  
                    alert(aAll[i]);
                }
            }
            return aArray;//最后return一下  
        }
    
    
        function insertHtml(where, el, html) {
            where = where.toLowerCase();
            if (el.insertAdjacentHTML) {
                switch (where) {
                    case "beforebegin":
                        el.insertAdjacentHTML('BeforeBegin', html);
                        return el.previousSibling;
                    case "afterbegin":
                        el.insertAdjacentHTML('AfterBegin', html);
                        return el.firstChild;
                    case "beforeend":
                        el.insertAdjacentHTML('BeforeEnd', html);
                        return el.lastChild;
                    case "afterend":
                        el.insertAdjacentHTML('AfterEnd', html);
                        return el.nextSibling;
                }
                throw 'Illegal insertion point -> "' + where + '"';
            }
            var range = el.ownerDocument.createRange();
            var frag;
            switch (where) {
                case "beforebegin":
                    range.setStartBefore(el);
                    frag = range.createContextualFragment(html);
                    el.parentNode.insertBefore(frag, el);
                    return el.previousSibling;
                case "afterbegin":
                    if (el.firstChild) {
                        range.setStartBefore(el.firstChild);
                        frag = range.createContextualFragment(html);
                        el.insertBefore(frag, el.firstChild);
                        return el.firstChild;
                    } else {
                        el.innerHTML = html;
                        return el.firstChild;
                    }
                case "beforeend":
                    if (el.lastChild) {
                        range.setStartAfter(el.lastChild);
                        frag = range.createContextualFragment(html);
                        el.appendChild(frag);
                        return el.lastChild;
                    } else {
                        el.innerHTML = html;
                        return el.lastChild;
                    }
                case "afterend":
                    range.setStartAfter(el);
                    frag = range.createContextualFragment(html);
                    el.parentNode.insertBefore(frag, el.nextSibling);
                    return el.nextSibling;
            }
            throw 'Illegal insertion point -> "' + where + '"';
        }
    
    
    //调用1
    getClass("div","banner")[0].innerHTML='我们来了'; 
    
    
    //调用2
     //insertHtml('afterBegin', document.getElementById("csContentEnd"), "<dd>在文本前容器内插入内容</dd>");
     //insertHtml('beforeEnd', elem, "<dd>在文本后容器内插入内容</dd>");
     insertHtml('beforeBegin', document.getElementById("csContentEnd"), "<dd>在文本前容器外插入内容</dd>");
     //insertHtml('afterEnd', elem, "<dd>在文本后容器外插入内容</dd>"); 
  • 相关阅读:
    【CoreData】多个数据库使用
    栅格那点儿事(四B)---多波段栅格数据的显示
    栅格那点儿事(四A)---栅格的显示与渲染
    栅格那点儿事(三)---关于压缩
    栅格那点儿事(二)---细看Raster属性
    栅格那点儿事(一)---Raster是个啥子东西
    栅格那点儿事(零)
    ArcMap如何修改地图坐标系统
    ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100)
    什么是TOPO学
  • 原文地址:https://www.cnblogs.com/xuxiaoshuan/p/4755430.html
Copyright © 2011-2022 走看看