点击changeImage,然后在js中创建一个链接

changeImage on click, then a link in js?

本文关键字:链接 一个 创建 changeImage 然后 js 点击      更新时间:2023-09-26

JavaScript新手,需要帮助。。。

我有一张图片,点击一下就会改变:

<img alt="" src="header.gif" id="imgClickAndChange" onclick="changeImage()"/>
</p>
    <script language="javascript">
      function changeImage() {
    if (document.getElementById("imgClickAndChange").src == "brain.gif") 
    {
        document.getElementById("imgClickAndChange").src = "brain.gif";
    }
    else 
    {
        document.getElementById("imgClickAndChange").src="brain.gif";
    }
}   </script>

但我想点击brain.gif链接到一个名为#2的div。如何使该新元素成为链接?

这并不完全优雅,但我相信这正是你想要的?我把点击处理程序移到了HTML之外,你可以做一些清理,比如存储imgClickAndChange,而不是每次都查找它,但我相信你已经明白了!

HTML:

<img alt="" src="header.gif" id="imgClickAndChange" />

JavaScript:

 function changeImage() {
      if (document.getElementById("imgClickAndChange").src == "brain.gif") {
          document.location.hash = "#something"; // this will jump you down the page to an element with ID of "something"
      } else {
          document.getElementById("imgClickAndChange").src = "brain.gif";
      }
  }
  var img = document.getElementById("imgClickAndChange");
  img.onclick = changeImage;

您必须将图像包装在锚点标签中,这样您就可以设置锚点的href。此外,您应该将this传递给您的onclick

HTML:

<a href="#test"><img alt="" src="header.gif" id="imgClickAndChange" onclick="changeImage(this)"/></a>

JS:

function changeImage(obj) {
    if (obj.src == "brain.gif") 
    {
        obj.src = "brain.gif";
    }
    else 
    {
       obj.src="brain.gif";
    }
    //Change the href of the anchor
    obj.parentNode.href = "#two";
    console.log(obj.parentNode.href);
}