使用JavaScript错误的Onclick方法

时间:2014-10-09 19:22:52

标签: javascript html css

我找到了一个onclick示例here。我做了页面上给出的所有内容,但我不知道发生了什么错误。

我做了那里给出的东西,当我创建一个新页面时,它不起作用。出了什么问题?

JSFiddle

HTML

<div id="leftmenu">
  <ul id="leftmenuidfrmslt" style="vertical-align: middle;">
    <a href="" onclick="mob();"><li><span class="flaticon-smart">
  </ul>
</div>

的JavaScript

function mob() {
    hidemenus();
    document.getElementById('mobi').style.display = "block";
}

function hidemenus() {
    document.getElementById('mobi').style.display = "none";
 }

点击显示菜单

 <div id="mobi" style="display:none;z-index:99;" class="answer_list" >
   <p class="flaticon-right127"><a href="#">Mobile&nbsp;Phones</a>
   <p class="flaticon-right127"><a href="#">Tablets</a></p>
   <p class="flaticon-right127"><a href="#">Mobile&nbsp;Accessories</a></p>
 </div>

3 个答案:

答案 0 :(得分:0)

快速浏览一下代码,你试图通过ID'mobi'找到一个元素,但是在你提供的jsfiddle中没有任何元素具有该ID。

因此该函数不会执行任何操作,因为它无法找到可以应用更改/操作的元素。

我尝试了一些其他ID:'elec','vehi',但也找不到包含这些ID的元素。

答案 1 :(得分:0)

您必须设置链接的id属性。

例如:

<a href="" onclick="mob();">

将此行添加为其ID:

<a id="mobi" href="" onclick="mob();">

答案 2 :(得分:0)

尝试这样的事情让它更简单:

var allIds = ['mobi','elec','vehi','home','pets','book','clot','kids','spor','serv','jobs','real'];

function hideAll() {
    for( id in allIds ) {
         document.getElementById( id ).style.display = "none";
    }
}

function showMenu( idToShow ) {
    hideAll();
    document.getElementById( idToShow ).style.display = "block";
}

您现在可以使用HTML:

<a href="" onclick="showMenu('elec');"></a>

另外,正如Code Whisperer所指出的,你想要展示的元素应该有id:

<div id="elec"></div>