如何使用JavaScript更改<a>标签中的title属性?

10 html javascript dom

我有一个html标签,最初我想要"标题"属性中提到的工具提示名称.点击链接后,我想要不同的工具提示名称.我使用了以下代码,但它无法正常工作.谁能帮帮我吗?

<html>
<head>
<script>

function tool(){
document.getElementsByName(link).title = "after click";
}

</script>
</head>
<body>
    <a href="javascript:tool()" name ="link" title="before click">click here</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

lev*_*vik 20

我假设这只是您想要做的简化示例,因为更改链接onclick可以内联完成:

 <a href="#" onclick="this.title='after click'" title="before click">...</a>
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,最好的方法是避免完全进行任何查找.只需将对链接的引用作为参数传递给您的函数:

<script>
  function tool(link) {
    link.title = 'after click';
  }
</script>
<a href="#" onclick="tool(this)" title="before click">...</a>
Run Code Online (Sandbox Code Playgroud)

当然,正如格兰特建议的那样,你也可以将标题值传递给函数,但是你最好只是一直使用内联版本并跳过函数.


wax*_*ing 12

摆脱SCRIPT元素中的BR标记,并将工具函数重写为:

function tool(){
    document.getElementsByName("link")[0].title = "after click";
}
Run Code Online (Sandbox Code Playgroud)

它会起作用.但是,这不是最佳方式.如果为字段分配id参数,至少可以使用document.getElementById(..),甚至更好,使用像jQuery这样的库.


Vik*_*ram 5

使用jquery,您可以编写以下命令:

$("a#link").attr("title","after click");
Run Code Online (Sandbox Code Playgroud)

  • 为什么通过在混合中添加jquery来复杂化?这是微不足道的dhtml. (6认同)