Здесь вы видите несколько ошибок.
- элемент списка HTML (
<li>
) не имеет значения
- список HTML не имеет "выбранный пункт"
- вы не можете получить любой "выбранный" элемент вызвав
getElementById()
Это мое альтернативное предложение:
<ul>
<li><a>Main Menu</a>
<ul class="leftbutton" >
<li><a href="List1.html" onclick="return changeList(this);">Sample 1</a></li>
<li><a href="List2.html" onclick="return changeList(this);">Sample 2</a></li>
<li><a href="List3.html" onclick="return changeList(this);">Sample 3</a></li>
<li><a href="List4.html" onclick="return changeList(this);">Sample 4</a></li>
<li><a href="List5.html" onclick="return changeList(this);">Sample 5</a></li>
</ul>
</li>
</ul>
<iframe id="iframeid" width="100%" height="100%" align="middle"></iframe>
<script type="text/javascript">
function changeList(a)
{
var iframe = document.getElementById("iframeid");
iframe.src = a.href;
return false;
}
</script>
Мысли: Если JavaScript неактивен, все еще работает (рудиментарно). Функция возвращает false
, поэтому, когда JavaScript включен, нажатие на ссылку отменяет навигацию href.
Имейте в виду, что до HTML 4.01 Transitional также возможно сделать это полностью без JavaScript. target
атрибут с именем фрейма достаточно:
<ul>
<li><a>Main Menu</a>
<ul class="leftbutton" >
<li><a href="List1.html" target="iframename">Sample 1</a></li>
<li><a href="List2.html" target="iframename">Sample 2</a></li>
<li><a href="List3.html" target="iframename">Sample 3</a></li>
<li><a href="List4.html" target="iframename">Sample 4</a></li>
<li><a href="List5.html" target="iframename">Sample 5</a></li>
</ul>
</li>
</ul>
<iframe id="iframeid" name="iframename" width="100%" height="100%" align="middle"></iframe>
Что такое IFrame для? –
С кликом по списку я хочу загрузить html-страницу в iframe (вместо открытия новой страницы html). – user32262