首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在onclick上使用inline javascript设置元素的样式

在onclick上使用inline javascript设置元素的样式
EN

Stack Overflow用户
提问于 2014-01-12 08:44:58
回答 3查看 2.4K关注 0票数 0

我正在尝试设置链接的样式。我有一个外部样式表,并且在HTML中我指向了该表的正确位置,所以这不是问题所在。我有:

代码语言:javascript
运行
复制
<a class="dopelink"onclick="document.getElementsByTagName("link").style.textDecoration="underline" " href="mylink.htm" >MY Link</a>

我做错了什么?

EN

回答 3

Stack Overflow用户

发布于 2014-01-12 08:48:57

代码语言:javascript
运行
复制
<a class="dopelink" style="text-decoration:none" onmousedown="this.style.textDecoration='underline'" href="mylink.htm">My link</a>

您的javascript必须使用单引号,因为您的HTML使用双引号。

text-decoration设置为none,因为默认情况下它带有下划线。当单击该元素时,这将发生变化。

使用this而不是document.getElementsByTagName。因为它是内联javascript,所以它可以引用自己。

使用onmousedown而不是onclick

票数 2
EN

Stack Overflow用户

发布于 2014-01-12 08:52:29

我希望我理解了,如果不理解,那么我很抱歉:/

为html标记创建:hover选项...例如,我在HTML代码中有"a“标记,如下所示:

代码语言:javascript
运行
复制
<a href="somewhere.html">Take me somewhere</a>

我想做的是,这个div的颜色将是红色的,当我用鼠标指向这个div时,它会将颜色改为蓝色,并在那里加下划线,所以我的css代码将如下所示:

代码语言:javascript
运行
复制
a {
   color: #F00;
}

a:hover {
   color: #00F;
   text-decoration: underline;
}
票数 0
EN

Stack Overflow用户

发布于 2014-01-12 09:24:55

您的代码无法正常工作,因为getElementsByTagName返回多个元素(它返回数组对象属性)。你必须对每一个都进行循环。您可以查看此fiddle。我将单击后的文本装饰设置为none,以使其更清晰。

测试函数(称为onclick)中,您将遍历ElementsByTagName提供的每个a标记。在此循环中,您将设置文本修饰属性。

代码语言:javascript
运行
复制
function test(){
var links = document.getElementsByTagName("a");

for (var l = 0; l < links.length; l++){
  links[l].style.textDecoration ='none';
}}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21069888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档