aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/jqLite.js5
-rw-r--r--src/service/compiler.js18
2 files changed, 12 insertions, 11 deletions
diff --git a/src/jqLite.js b/src/jqLite.js
index 986d0002..79f22e62 100644
--- a/src/jqLite.js
+++ b/src/jqLite.js
@@ -328,7 +328,7 @@ forEach('multiple,selected,checked,disabled,readOnly,required'.split(','), funct
BOOLEAN_ATTR[lowercase(value)] = value;
});
var BOOLEAN_ELEMENTS = {};
-forEach('input,select,option,textarea,button'.split(','), function(value) {
+forEach('input,select,option,textarea,button,form'.split(','), function(value) {
BOOLEAN_ELEMENTS[uppercase(value)] = true;
});
@@ -394,8 +394,7 @@ forEach({
}
} else {
return (element[name] ||
- element.getAttribute(name) !== null &&
- (msie < 9 ? element.getAttribute(name) !== '' : true))
+ (element.attributes.getNamedItem(name)|| noop).specified)
? lowercasedName
: undefined;
}
diff --git a/src/service/compiler.js b/src/service/compiler.js
index 6cbfc9d3..4ac01a7c 100644
--- a/src/service/compiler.js
+++ b/src/service/compiler.js
@@ -378,17 +378,19 @@ function $CompileProvider($provide) {
for (var attr, name, nName, value, nAttrs = node.attributes,
j = 0, jj = nAttrs && nAttrs.length; j < jj; j++) {
attr = nAttrs[j];
- name = attr.name;
- nName = directiveNormalize(name.toLowerCase());
- attrsMap[nName] = name;
- attrs[nName] = value = trim((msie && name == 'href')
+ if (attr.specified) {
+ name = attr.name;
+ nName = directiveNormalize(name.toLowerCase());
+ attrsMap[nName] = name;
+ attrs[nName] = value = trim((msie && name == 'href')
? decodeURIComponent(node.getAttribute(name, 2))
: attr.value);
- if (isBooleanAttr(node, nName)) {
- attrs[nName] = true; // presence means true
+ if (isBooleanAttr(node, nName)) {
+ attrs[nName] = true; // presence means true
+ }
+ addAttrInterpolateDirective(node, directives, value, nName)
+ addDirective(directives, nName, 'A', maxPriority);
}
- addAttrInterpolateDirective(node, directives, value, nName)
- addDirective(directives, nName, 'A', maxPriority);
}
// use class as directive