IE 9 attributeとpropertyの分離



IE 6/7/8(Q)における要素のattributeはproperty内部実装とは無関係であり,IE 8は部分的に分離され,IE 9は完全に分離された.
 
次のようになります.
<div id="myId" class="cls" userAttribute="test1">

<script type="text/javascript">

var div = document.getElementById('myId');	
div.userProperty = 'test2';

alert(div.attributes.length); // IE6/7/8 -> 4 , [id,class,userAttribute,userProperty]
							  // IE9 -> 3, [id,class,userAttribute]

alert(div.userAttribute); // IE6/7/8 -> 'test1'
						  // IE9 -> undefined
						  
alert(div.getAttribute('userAttribute')); // IE6/7/8/9 -> 'test1'

alert(div.getAttribute('userProperty')); // IE6/7/8 -> 'test2'
										 // IE9 -> null
</script>	

 
注意:Firefox/Safari/Chrome/Operaの表現はIE 9と同じです. 
 
attributeとpropertyの詳細分析についてw 3 helpサイトを強くお勧めします.猛撃:http://w3help.org/zh-cn/causes/SD9006