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、 
3、找到狮子狗这个节点     通过id查找到狮子狗节点    var ul=document.getElementById("d1")。
4、     
-    
- 亚索    
- 狮子狗    
- 披甲龙龟 。
5、 
6、在狮子狗节点后追加一个
如何用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