我最近嘗試重新使用(working!)javascript函數並檢測到一個奇怪的行爲:在for循環中的某個if語句之後,函數停止。我沒有看到任何理由。JavaScript函數在某個if語句後停止
如果將實際條件更改爲「1 == 1」,則一切正常。但隨着代碼如上,我得到第一個警報('我們去'),但我從來沒有得到第二個警報。所以,這個問題不能連接到循環(無盡的或類似的東西)。但除此之外,我非常困惑和無奈。 (測試與Firefox 26和Internet Explorer 11)
<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
function my_function(number_of_divs)
{
for (var k = 0; k <= number_of_divs; k++)
{
var index = k;
if (document.getElementsByName("text_levels")[index].style.display == 'block')
{
alert('Here we go');
}
}
alert('This is never shown');
}
</script>
</head>
<body>
<a href="javascript:void" onclick="my_function(1)">Click</a>
<div name="text_levels" style="display:block">The content of a div element</div>
</body>
</html>
難道不應該是「=== 「? – duffymo
你有沒有試過用像firebug這樣的調試器來完成它? – ElGavilan