javascript(兼容)遍历元素的特性

在需要将DOM的结构序列化为XML或HTML字符串时, 多数都会涉及遍历元素特性.

注意:

  • 针对attribute对象中的特性, 不同浏览器返回的顺序不同. 这些特性在XML或HTML代码中出现的先后顺序, 不一定与它们出现在attribute对象的顺序一致.
  • IE7及更早版本会返回HTML中所有可能的特性, 包括没有指定的特性. 换句话说, 返回100多个特性的情况会很常见.

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function outputAttributes(element) {
var pairs = new Array(),
attrName,
attrValue,
i,
len;
for(i=0, len=element.attributes.length; i < len; i++) {
attrName = element.attributes[i].nodeName;
attrValue = element.attributes[i].nodeValue;
if(element.attributes[i].specified) {
//兼容IE, 如果该属性为true则在HTML中定义了该属性
pairs.push(attrName + "=\"" + attrValue + "\"");
}
}
return pairs.join(" ");
}
越来越多的平台(微信公众平台,新浪微博,简书,百度打赏等)支持打赏功能,付费阅读时代越来越近,特此增加了打赏功能,支持微信打赏和支付宝打赏。坚持原创技术分享,您的支持将鼓励我继续创作!