JavaScript / jQuery:如何在XML元素中获取所有属性的数组? [英] JavaScript/jQuery: How do I get an array of all attributes in an XML element?

查看:102
本文介绍了JavaScript / jQuery:如何在XML元素中获取所有属性的数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给出jQuery中的XML元素如下:

Given an XML element in jQuery like so:

$('<foo oy="vey" foo="bar" here="is" another="attribute" />')

我可以使用jQuery或普通的旧JavaScript来获取包含XML元素中所有属性名称的数组?我希望如此:

Can I use either jQuery or plain old JavaScript to get an array containing the names of all the attributes in an XML element? I would expect this:

['oy','foo','here','another']


推荐答案

jQuery函数并不是真的要解析XML,它可以解析HTML,但它实际上并不相同。

The jQuery function isn't really meant to parse XML, it can parse HTML, but it's not really the same.

使用浏览器的XML解析器怎么样:

What about using the browser's XML parser:

function parseXML(text) {
  var parser, xmlDoc;

  if (window.DOMParser) {
    parser = new DOMParser();
    xmlDoc = parser.parseFromString(text,"text/xml");
  } else {  // IE
    xmlDoc=  new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async = "false";
    xmlDoc.loadXML(text); 
  }
  return xmlDoc;
}

// Demo
var doc = parseXML('<foo oy="vey" foo="bar" here="is" another="attribute" />');
var foo = doc.childNodes[0];
for (var i = 0; i < foo.attributes.length; i++) {
  var attr = foo.attributes[i];
  alert(attr.name + " = " + attr.value); 
}

运行以上代码这里

这篇关于JavaScript / jQuery:如何在XML元素中获取所有属性的数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆