大多数情况下,HTML属性与对应的DOM属性的作用都是一样的,jQuery可以帮我们处理名字不一致的问题(例如:html中的class属性对应DOM属性的classname)。可以,有时候我们的确需要留意着两种的差异。某些DOM属性,例如:nodeNames, nodeType, selectedIndex和childNodes, 在HTML中没有对应的属性,因此通过.attr()方法就没有办法操作它们。此外,数据类型方面也存在差异,比如HTML中的checked属性是一个字符串,而DOM中的checked属性则是一个布尔值。
<html>
<head>
<script>
function checkthis()
{
if (ocheckbox.checked == true)/*在DOM中checked是布尔值*/
{
alert("it's got a check; now off to microsoft!");
window.open("http://www.microsoft.com");
}
}
</script>
</head>
<body>
check here if you wish to go to microsoft:
<!--在html中checked属性 是字符串-->
<input id="ocheckbox" class="cbox" type="checkbox" checked="true" οnclick="javascript:checkthis()">
</body>
</html>
对于布尔值属性,最后测试DOM属性而不是HTML属性,以确保跨浏览器的一致行为。