0

请有人帮助我,我在 html 页面上有一些 DIV,我设置为在打开页面时不显示,但是当用户单击页面上的链接时,我希望显示 DIV 的内容。可见内容根据单击的链接切换。问题是它在 Chrome 中运行良好,但在 Firefox 中却不行。有人可以帮我做正确的代码,以便它在两种浏览器中都能正常工作吗?

这是我关闭 DIV 的代码:

<script language="javascript">
<!--
function change_visibility(div_id)
{
document.all['itinerary'].style.display = (div_id == 'itinerary') ? 'block' : 'none';
document.all['touroptionals'].style.display = (div_id == 'touroptionals') ? 'block': 'none';
document.all['map'].style.display = (div_id == 'map') ? 'block': 'none';
document.all['dates'].style.display = (div_id == 'dates') ? 'block': 'none';
document.all['hotels'].style.display = (div_id == 'hotels') ? 'block': 'none';
document.all['includes'].style.display = (div_id == 'includes') ? 'block': 'none';
document.all['tourdates'].style.display = (div_id == 'tourdates') ? 'block': 'none';
document.all['price'].style.display = (div_id == 'price') ? 'block': 'none';
}

//-->
</script>

在页面内我有这些链接:

<div id="tourmenu" >  
<a href="javascript:;" onClick="change_visibility('itinerary');">Full Itinerary</a> 
<a href="javascript:;" onClick="change_visibility('touroptionals');">Optional Extras</a> 
<a href="javascript:;" onClick="change_visibility('map');">Map</a> 
<a href="javascript:;" onClick="change_visibility('hotels');">Hotels</a> 
<a href="javascript:;" onClick="change_visibility('includes');">Includes &amp; Excludes</a> 
<a href="javascript:;" onClick="change_visibility('dates');">Dates</a> 
<a href="javascript:;" onClick="change_visibility('price');">Price</a>
</div>

在 Chrome 中,这一切都很完美,DIV 不显示,当我点击每个链接时,只有那个 DIV 及其内容显示。在 Firefox 中,它们一直都在显示,而单击链接则无济于事。

有任何想法吗?

4

1 回答 1

1

document.all并非所有浏览器都支持。请使用document.getElementById以确保安全。

于 2013-07-01T16:45:30.687 回答