如果我直接附加到XmlDoc它可以工作,但如果附加到$(this)没有显示。知道它失败的原因。以下是我的代码
$(".save").click(function () {
var xml = $('#xmlnavs').val(),
xmlDoc = $.parseXML(xml),
$xml = xmlDoc;
var sXml = '<navigation><name>' + $('#navigation').val() + '</name><id>' + items + '</id>' + '<order>' + $('#order').val() + '</order>' + '</navigation>';
if ($('#nav-parent').find("option:selected").val() != '---SELECT---') {
$(xml).find("navigation").each(function () {
if ($(this).find('name').text() == $('#nav-parent').find("option:selected").val()) {
if ($(this).find('subnavigations').length) {
//THE BELOW LINE NOT UPDATING TO XML DOC
$(this).find('subnavigations').append(sXml);
} else {
//THE BELOW LINE NOT UPDATING TO XML DOC
sXml = '<subnavigations><navigation><name>' + $('#navigation').val() + '</name><id>' + items + '</id>' + '<order>' + $('#order').val() + '</order>' + '</navigation></subnavigations>';
$(this).append(sXml);
}
}
});
} else {
//BUT THIS WORKS
$(xmlDoc).find('navigations').append(sXml);
}
$('#xmlnavs').val(xmlToString(xmlDoc));
xml = $('#xmlnavs').val(),
xmlDoc = $.parseXML(xml),
$xml = xmlDoc;
});
更新
感谢您的所有支持guest271314帮助我解决了以下问题
旧代码
$(xml).find('navigation').each(function (a, b) {
新代码
$(xmlDoc).find('navigation')。each(function(a,b){