我有这个代码:
<div class="riga" style="border-top:0;">
<div class="col3" id="txtValoreCatastale">0,00 euro</div>
</div>
<script type="text/javascript">
txtValoreCatastale = $('#txtValoreCatastale');
</script>
我似乎得到了一个错误:
SCRIPT438: Object doesn't support this property or method
show, Row 33 Char 4
这将破坏(我的整个原始代码)我的一些脚本!但如果我写:
var txtValoreCatastale = $('#txtValoreCatastale');
它工作得很好。
为什么会有这种行为?又是一个巨大的bug?
快速思考:当您指定一个带有id的div时,它将成为具有该名称的全局变量。因此,您已经有了一个名为txtValoreCatastale的全局变量,它是一个DOM元素。如果您更改ID或变量名,它应该可以正常工作。
IE为您使用的每个元素id创建自己的全局变量。所以问题是,IE已经创建了自己的变量txtValoreCatastale。通过在它前面添加var,你告诉IE在你的函数范围内它是一个局部变量,所以IE允许它。如果你叫它其他的名字,比如someOtherVariableName,它在前面没有var的情况下就会工作。