Javascript帮助-以老派的方式做一些新的东西
javascript help - doing something new in a old school way
UPDATE:有些人说他们能够得到超过1个childNode…这是我的小提琴-我只得到1 childNode显示。
错误在哪里?
原始问题下面是我继承的部分javascript代码片段。基本上,这个函数用于通过调用AJAX函数来获取XML数据。然而,由于需求的变化,我正在生成一个XML字符串并将该字符串存储在屏幕上的隐藏输入变量中(Classic ASP)。
仔细查看原始脚本后,我发现如果我能以某种方式将xml字符串传递到cmdxml变量中,那就太好了。但是,当我将cmdxml设置为我的xml字符串:cmdxml = $.parseXML(xmlVal);
,然后尝试使用下面的代码片段时,它只获得1个子节点。我在下面传递了一小段xml字符串。
旧Javascript函数(部分)使用cmdxml:
if (req.responseXML!=null) {
var PropName;
var PropValue;
var cmdxml = req.responseXML.documentElement;
// read each document element child node in the XML document
for (var c =0;c<cmdxml.childNodes.length;c++) {
var m;
var t = cmdxml.childNodes[c]; //req.responseXML.documentElement.childNodes[c]
if (t!=null) {
//console.log(t.nodeName);
switch(t.nodeName) { //req.responseXML.documentElement.childNodes[c].nodeName
case "RObject": { //response object
var RObject = t;
//req.responseXML.documentElement.childNodes[c].nodeName.attributes[2].value
var CtrlChangeType = RObject.attributes[2].value;
var CtrlObjName = RObject.attributes[1].value;
var CtrlObjType = RObject.attributes[0].value;
var CtrlObj;
var RObjProp = RObject.getElementsByTagName("Property");
PropName = RObjProp[0].attributes[0].value;
PropValue = getElementText(RObjProp[0].getElementsByTagName("Value")[0]);
switch (CtrlChangeType) { //req.responseXML.documentElement.childNodes[c].nodeName.attributes[0].value
case "comboboxInsRow": {
这是我传递的xml字符串的一个片段:
<?xml version="1.0" ?><xCMDS><JCallBack ProgramName="x"><Value><![CDATA[top.closeCtrlLoading();]]></Value></JCallBack><RObject Type="E" Name="gH2ptObj_co_code" ChangeType="objProp" rowNum="" colNum=""><Property Name="value"><Value><![CDATA[]]></Value></Property></RObject>
parseXML返回一个XMLDocument。您需要将cmdxml设置为$. parsexml ('snippet')。(childNodes是节点的一个属性,通常在文档中不可用)
您的小提琴返回一个childNode,但这是根元素,您希望访问根元素的childNode。
相关文章:
- 以jquery方式继承Javascript
- 以同步方式获取Javascript Promise的值
- 如何做javascript连续滚动-自动加载
- 以不同的方式调用javascript函数
- 以编程方式调用javascript函数
- 如何以编程方式查找javascript语法错误的位置
- 以惯用方式组织javascript webdriver promise代码
- 可以通过编程方式在javascript或jquery中单击箭头键
- 另一种方式是Javascript中的函数堆叠
- 如何检测以跨浏览器方式使用 Javascript 的 DOMParser 时的 XML 解析错误
- 如何以非常简单的方式在 JavaScript 中打印星形图案
- 以处理错误的方式启动javascript承诺蓝鸟链
- 使用哪种方式在 JavaScript 中定义类
- 哪种方式在Javascript,字符串连接或数组中更好
- 如何以不同的方式合并javascript中的数组
- 如何在不重新启动 Web 应用程序的情况下以编程方式使 JavaScript 和 CSS 包失效或刷新
- 如何导出 Html.Kendo().网格数据以通用方式使用javascript表现出色
- 如何以编程方式将 javascript 对象属性包装在函数中
- 最好的方式做一个手表在javascript与服务器时间同步
- Javascript帮助-以老派的方式做一些新的东西