* @returns {string} Returns the string representation of the element.
(element)
| 1152 | * @returns {string} Returns the string representation of the element. |
| 1153 | */ |
| 1154 | function startingTag(element) { |
| 1155 | element = jqLite(element).clone(); |
| 1156 | try { |
| 1157 | // turns out IE does not let you set .html() on elements which |
| 1158 | // are not allowed to have children. So we just ignore it. |
| 1159 | element.empty(); |
| 1160 | } catch(e) {} |
| 1161 | // As Per DOM Standards |
| 1162 | var TEXT_NODE = 3; |
| 1163 | var elemHtml = jqLite('<div>').append(element).html(); |
| 1164 | try { |
| 1165 | return element[0].nodeType === TEXT_NODE ? lowercase(elemHtml) : |
| 1166 | elemHtml. |
| 1167 | match(/^(<[^>]+>)/)[1]. |
| 1168 | replace(/^<([\w\-]+)/, function(match, nodeName) { return '<' + lowercase(nodeName); }); |
| 1169 | } catch(e) { |
| 1170 | return lowercase(elemHtml); |
| 1171 | } |
| 1172 | |
| 1173 | } |
| 1174 | |
| 1175 | |
| 1176 | ///////////////////////////////////////////////// |
no test coverage detected