Javascript 如果出现<;a>;点击

Javascript 如果出现<;a>;点击,javascript,jquery,arrays,toggle,Javascript,Jquery,Arrays,Toggle,这是我的密码: var workshops=document.querySelector(“#workshops”); var cross_one=document.querySelector('cross_one'); var workshops_navigation=document.querySelector(“#workshops_navigation”); workshops.addEventListener('click',函数(事件){ if(cross_one.style.di

这是我的密码:

var workshops=document.querySelector(“#workshops”);
var cross_one=document.querySelector('cross_one');
var workshops_navigation=document.querySelector(“#workshops_navigation”);
workshops.addEventListener('click',函数(事件){
if(cross_one.style.display==“”){
cross_one.style.display=“无”;
workshops_navigation.style.display=“block”;
}否则{
cross_one.style.display=“”;
车间_navigation.style.display=“无”;
}
}
);
var works=document.querySelector(“#works”);
var cross_two=document.querySelector('cross_two');
var works_navigation=document.querySelector(“#works_navigation”);
works.addEventListener('click',函数(事件){
if(cross_two.style.display==“”){
cross_two.style.display=“无”;
works\u navigation.style.display=“block”;
}否则{
cross_two.style.display=“”;
works\u navigation.style.display=“无”;
}
}
);
var projects=document.querySelector(“#projects”);
var cross_three=document.querySelector('cross_three');
var projects_navigation=document.querySelector(“#projects_navigation”);
projects.addEventListener('click',函数(事件){
if(cross_three.style.display==“”){
cross_three.style.display=“无”;
项目\ u navigation.style.display=“block”;
}否则{
cross_three.style.display=“”;
项目\u navigation.style.display=“无”;
}
}
);
#研讨会{
左:4vw;
顶部:32vh;
位置:绝对位置;
}
#工作{
右:10vw;
顶部:5vh;
位置:绝对位置;
}
#计划{
右:5vw;
顶部:20vh;
位置:绝对位置;
}
#车间图标、工作图标、项目图标{
光标:指针;
宽度:354px;
}
#研讨会导航、#工作导航、#项目导航{
字体大小:30px;
顶部:10px;
左边距:15px;
位置:绝对位置;
显示:无;
线高:100%
}




检查此JSFIDLE

HTML:


在链接上创建一个真实的事件绑定(
addEventListener
on()
),该绑定将标志设置为false,并停止事件的传播。然后在任何重要的div上创建一个真正的事件绑定,单击该绑定可以将标志翻转回来。这样,冒泡到它的子对象上的单击事件(由于StopRopAgation而不会来自链接)将重新启用切换。了解jQuery事件处理的一个很好的起点是浏览site@Taplar非常感谢。我必须用JavaScript来完成。我不明白/谢谢这个看起来很好。但是我有不止一张带有多个链接的图片。如果我使用“.link”而不是“#link”,它将不起作用。为什么?如果要使用类,则必须使用document.queryselectoral而不是document.querySelector方法例如:var highlightedItems=userList.queryselectoral(“.highlighted”);forEach(函数(userItem){deleteUser(userItem);});您是否可以编辑您的答案?如果有效,我可以检查并投票!非常感谢你!现在检查,它将在类而不是id上工作
    <div id="works">
  <div id="works_icon">
    <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 235.1 299.4" style="enable-background:new 0 0 235.1 299.4;" xml:space="preserve">
<polygon fill="white" points="0.8,298.5 234.3,298.5 234.3,0.8 0.8,0.8 0.8,298.5 "/>
<polygon id="cross_one"  points="233.6,299.1 117.6,151 1.5,299.1 0.2,298 116.5,149.7 0.2,1.3 1.5,0.3 117.6,148.3 233.6,0.3 
    234.9,1.3 118.6,149.7 234.9,298 "/>
<path d="M235.1,299.4v-1.7V1.7V0h-1.7H1.7H0v1.7v296v1.7h1.7h231.8H235.1L235.1,299.4z M233.5,297.7H1.7V1.7h231.8
    V297.7L233.5,297.7z"/>
</svg>

    <div id="works_navigation">
      <a href="#" class='link'> My Link 1 </a><br/>
      <a href="#" class='link'> My Link 2 </a><br/>
      <a href="#" class='link'> My Link 3 </a><br/>

    </div>
  </div>
  var works = document.querySelector('#works');
var cross_one = document.querySelector('#cross_one');
var works_navigation = document.querySelector('#works_navigation');
works.addEventListener('click', function (event) {
      if (cross_one.style.display == "") {
          cross_one.style.display = "none";
        works_navigation.style.display = "block";
      } else {
          cross_one.style.display = "";
          works_navigation.style.display = "none";
      }
    }
  );
document.querySelectorAll('.link').forEach(function(link) { 
  link.addEventListener('click', function (event) {
     event.stopPropagation();
})
})
;