JS点击功能不再工作以更改链接颜色

JS onclick function no longer working to change link color

本文关键字:链接 颜色 工作 功能 不再 JS      更新时间:2023-09-26

在我编写的HTML脚本中,我设置了一个JS函数,以便当用户单击文本时,它会链接到网站并更改文本的颜色。我最终复制了该脚本并制作了一个包含更改的新脚本(包括取出 JS 函数)。现在我正在尝试将函数放回去,但它不起作用。回顾原始脚本,该函数在那里工作,与原始脚本相比,该函数在新脚本中的使用看起来是正确的......所以我有点纠结为什么文本不会再改变颜色了。

这是JS函数

<script>
    function openPortal() {       
      window.open("http://www.google.com");
      document.getElementById("winapp").style.color="BlueViolet ";
    }</script>

在这里,它在HTML中被调用,首先作为有效的图像链接(显然我不希望图像的颜色改变,所以这不是我的问题),其次是作为单击时不会改变颜色的文本链接:

        <!--App Portal Link [Image] -->
<div style="left:23%" id="winlogo">
<p class="pos_winsym" id="winapp" onclick="openPortal()">
<span style="cursor:pointer">
<img src="winlogo.jpg" width="90" height="80">
    </span></div></p>
<p class="pos_winmsg">For Windows Applications
<br>
        <!--App Portal Link [Text] -->
<span style="cursor:pointer">
<a id="winapp" onclick="openPortal()" style="font-size:90%">Click here
    </a></p></span>

关于为什么颜色不再变化的任何想法都会非常有帮助!谢谢!

仅供参考 - 如果需要更多代码,请告诉我,我只给出了我认为与情况相关的内容。

id修改为唯一 页面不能包含两个相同的id

或者您可以按如下方式修改您的函数:

function openPortal( elem ) {       
   window.open("http://www.google.com");
   elem.style.color="blueviolet ";
}

您的onclick值为openPortal( this )

工作演示

您有两个相同的 id:

<p class="pos_winsym" id="winapp" onclick="openPortal()">

在这里:

<a id="winapp" onclick="openPortal()" style="font-size:90%">Click here
</a>

删除<p>中的 id:

<p class="pos_winsym" onclick="openPortal()">

小提琴示例