jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery将XML标记转换为大写大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 AJAX请求,它返回一个 XML字符串,我想将其注入DOm.我的功能看起来像
$.ajax({
    type: 'POST',url: "myrequest",data: postdata,datatype: 'json',success: function (arguments) {
        newxmlString = arguments.newxml;
        oldnode = $("someSELEctor specified in the arguments passed");
        oldnode.replaceWith(newxmlString);
    }
  });

这有效,但似乎replaceWith函数将所有nodename映射到服务器发送的响应的大写版本.我假设这是一个尝试使用jQuery来处理XML的怪癖?

因此,例如,如果响应字符串是< data> asdf< / data>当我访问$(newnodE)[0] .nodename时,我得到’DATA’.

有人知道如何处理新的XML,同时保留nodename的小写?

编辑:我的响应是JSON,因为它包含新的xml字符串和一些关于新xml节点附加位置的其他数据.所以我更愿意保留数据类型:’json’,如果可能的话.

解决方法

From this answer

一些搜索表明很多人都遇到过这个问题,尤其是选择器和XML(jQuery的find()区分大小写,而find()中使用的选择器是小写的).

@L_772_11@其他人正在使用将字符串转换为可能适合您的XML:

$.text2xml = function(sXML) { 
    // NOTE: I'd like to use jQuery for this,but jQuery makes all 
    // tags uppercase 
    //return $(xml)[0]; 
    var out; 
    try{ 
        var dXML = ($.browser.msiE)?new ActiveXObject("Microsoft.XMLDOM"):new DOMParser(); 
        dXMl.async = false; 
    }catch(E){ throw new Error("XML Parser Could not be instantiated"); }; 
    try{ 
        if($.browser.msiE) out = (dXMl.loadXML(sXML))?dXML:false; 
        else out = dXMl.parseFromString(sXML,"text/xml"); 
    } 
    catch(E){ throw new Error("Error parsing XML String"); }; 
    return out;
}

大佬总结

以上是大佬教程为你收集整理的jQuery将XML标记转换为大写全部内容,希望文章能够帮你解决jQuery将XML标记转换为大写所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。