javascript getAttribute

var nodes = document.getElementsByTagName("script");
var node = nodes[nodes.length - 1];
var src = document.querySelector ? node.src : node.getAttribute("src", 4);

以前一直以为 node.getAttribute("src", 4) 是笔误,后面在MSDN中找到了对应IE中的API[1],

才明白这种写法是兼容IE的写法。

getAttribute method
Retrieves the value of the specified attribute.
Document Object Model (DOM) Level 2 HTML Specification, Section 1.6.5
Syntax

object.getAttribute(strAttributeName, lFlags)
Parameters

strAttributeName [in]
Type: String
String that specifies the name of the attribute.
lFlags [in, optional]
Type: Integer
Integer that specifies one or more of the following flags:
0
Default. Performs a property search that is not case-sensitive, and returns an interpolated value if the property is found.
1
Performs a case-sensitive property search. To find a match, the uppercase and lowercase letters in strAttributeName must exactly match those in the attribute name.
2
Returns attribute value as a String. This flag does not work for event properties.
4
Returns attribute value as a fully expanded URL. Only works for URL attributes.
Return value

Type: Variant
Variant that returns a String, Variant of type Integer, or Boolean value as defined by the attribute. If the attribute is not present, this method returns null.

[1] http://msdn.microsoft.com/en-us/library/ie/ms536429(v=vs.85).aspx