当前位置:首页>科技>正文

JQuery如何为XML对象添加节点 jquery如何添加兄弟节点 不是子节点哦 O(∩_∩)O~

2023-06-06 00:49:56 互联网 未知 科技

 JQuery如何为XML对象添加节点 jquery如何添加兄弟节点 不是子节点哦 O(∩_∩)O~

JQuery如何为XML对象添加节点

$(function() {
//定义一个xml对象
var x = $("")
//在 center节点的结尾添加一个 bottom节点 ,然后在center节点的开头添加一个top节点
x.find("center").appendXml("").prependXml("")
//在 center节点的后面添加一个after节点,然后在center节点的前面添加一个before节点
x.find("center").afterXml("").beforeXml("")
alert(x.xml())
})
(function($) {
    function mnpXml(opCode, xmlStr) {
        return this.each(function() {
            if (typeof xmlStr != "string") return
            if (!jQuery.isXMLDoc(this)) return
            var node = $.parseXml(xmlStr).firstChild.cloneNode(true)
            switch (opCode) {
                case "append":
                    this.appendChild(node)
                    break
                case "prepend":
                    if (this.childNodes.length > 0)
                        this.insertBefore(node, this.firstChild)
                    else
                        this.appendChild(node)
                    break
                case "after":
                    if (this.nextSibling)
                        this.parentNode.insertBefore(node, this.nextSibling)
                    else
                        this.parentNode.appendChild(node)
                    break
                case "before":
                    this.parentNode.insertBefore(node, this)
                    break
            }
        })
    }
    $.fn.extend({
        appendXml: function(s) {
            return mnpXml.call(this, "append", s)
        },
        prependXml: function(s) {
            return mnpXml.call(this, "prepend", s)
        },
        afterXml: function(s) {
            return mnpXml.call(this, "after", s)
        },
        beforeXml: function(s) {
            return mnpXml.call(this, "before", s)
        },
        xml: function() {
            var elem = this[0]
            return elem.xml || (new XMLSerializer()).serializeToString(elem)
        },
        innerXml: function() {
            var s = this.xml()
            var i = s.indexOf(">"), j = s.lastIndexOf("<")
            if (j > i)
                return s.substring(i   1, j)
            else
                return ""
        }
    })
    $.extend(jQuery, {
        parseXml: function(xmlStr) {
            if (window.ActiveXObject) {
                var xd = new ActiveXObject("Microsoft.XMLDOM")
                xd.async = false
                xd.loadXML(xmlStr)
                return xd
            }
            else if (typeof DOMParser != "undefined") {
                var xd = new DOMParser().parseFromString(xmlStr, "text/xml")
                return xd
            }
            else return null
        },
        toXml: function(obj, nodeName, useAttr) {
            var x = $($.parseXml("<"   nodeName   " />"))
            var n = x.find(":first")
            for (var p in obj) {
                if (useAttr)
                    n.attr(p, obj[p])
                else
                    n.appendXml("<"   p   " />").find(p).text(obj[p])
            }
            return x[0]
        }
    })
})(jQuery)

jquery如何添加兄弟节点 不是子节点哦 O(∩_∩)O~

1、首先获取要添加的节点的节点,然后创建一个节点,添加到节点的前面。

2、     DOM树操作     function f1(){。

3、找到狮子狗这个节点     通过id查找到狮子狗节点    var ul=document.getElementById("d1")。

4、     

       
  • 亚索
  •    
  • 狮子狗
  •    
  • 披甲龙龟


  • 5、 
   。

6、在狮子狗节点后追加一个
  • 蛮王
  •    a.找到狮子狗这个节点     通过id查找到狮子狗节点     var li=document.getElementById("l1")   b.创建
  • 蛮王
  • 节点对象和内容。

    如何用jquery往 xml文件增加节点

    $(function() {
    //定义一个xml对象
    var x = $("<xml><items><center /></items></xml>")
    //在 center节点的结尾添加一个 bottom节点 ,然后在center节点的开头添加一个top节点
    x.find("center").appendXml("<bottom />").prependXml("<top />")
    //在 center节点的后面添加一个after节点,然后在center节点的前面添加一个before节点
    x.find("center").afterXml("<after />").beforeXml("<before />")
    alert(x.xml())
    })
    (function($) {
        function mnpXml(opCode, xmlStr) {
            return this.each(function() {
                if (typeof xmlStr != "string") return
                if (!jQuery.isXMLDoc(this)) return
                var node = $.parseXml(xmlStr).firstChild.cloneNode(true)
                switch (opCode) {
                    case "append":
                        this.appendChild(node)
                        break
                    case "prepend":
                        if (this.childNodes.length > 0)
                            this.insertBefore(node, this.firstChild)
                        else
                            this.appendChild(node)
                        break
                    case "after":
                        if (this.nextSibling)
                            this.parentNode.insertBefore(node, this.nextSibling)
                        else
                            this.parentNode.appendChild(node)
                        break
                    case "before":
                        this.parentNode.insertBefore(node, this)
                        break
                }
            })
        }
        $.fn.extend({
            appendXml: function(s) {
                return mnpXml.call(this, "append", s)
            },
            prependXml: function(s) {
                return mnpXml.call(this, "prepend", s)
            },
            afterXml: function(s) {
                return mnpXml.call(this, "after", s)
            },
            beforeXml: function(s) {
                return mnpXml.call(this, "before", s)
            },
            xml: function() {
                var elem = this[0]
                return elem.xml || (new XMLSerializer()).serializeToString(elem)
            },
            innerXml: function() {
                var s = this.xml()
                var i = s.indexOf(">"), j = s.lastIndexOf("<")
                if (j > i)
                    return s.substring(i   1, j)
                else
                    return ""
            }
        })
        $.extend(jQuery, {
            parseXml: function(xmlStr) {
                if (window.ActiveXObject) {
                    var xd = new ActiveXObject("Microsoft.XMLDOM")
                    xd.async = false
                    xd.loadXML(xmlStr)
                    return xd
                }
                else if (typeof DOMParser != "undefined") {
                    var xd = new DOMParser().parseFromString(xmlStr, "text/xml")
                    return xd
                }
                else return null
            },
            toXml: function(obj, nodeName, useAttr) {
                var x = $($.parseXml("<"   nodeName   " />"))
                var n = x.find(":first")
                for (var p in obj) {
                    if (useAttr)
                        n.attr(p, obj[p])
                    else
                        n.appendXml("<"   p   " />").find(p).text(obj[p])
                }
                return x[0]
            }
        })
    })(jQuery)

    jquery如何添加兄弟节点 不是子节点哦 O(∩_∩)O~

    用after()或者insertAfter()
    例如:
    $("#button1").after("<span>内容</span>")
    $("<span>内容</span>").insertAfter("#button1")

    这两个方法效果是完全一样的~

    希望对您有帮助~
    By Billskate