Hallo!
Ich muss mittels Javascript überprüfen ob in einem form-Tag ein Attribut 'lang' vorhanden ist. Wegen IE (<8) kann ich hasAttribute nicht verwenden und versuchte es über !!el.getAttribute('foo').
Nun hat aber der IE bis und mit Version 7 die spezielle Eigenschaft, bei getAttribute nicht nur Attribute sondern auch Kindelemente mit name="foo" zurückzugeben. Im folgenden vereinfachten Bsp. zeigt IE den alert an, alle anderen Browser nicht.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript">
window.onload = function() {
var t = document.getElementById("myElem");
if(!!t.getAttribute('lang')) {
alert('getAttribute found:' + t.getAttribute('lang'));
}
};
</script>
</head>
<body>
<h1>Problem in IE</h1>
<form action="#" method="POST" id="myElem">
<div>
<input type="text" name="lang"><span>foobar</span>
</div>
</form>
</body>
</html>
Wie kann ich das umgehen?
Dank und Gruss,
Mathias