当可以使用普通的 HTML 元素时,您不需要为此使用 JavaScript;考虑到这一点,只需使用一个label
元素,而不是一个a
,因为您的要求正是由label
元素满足:
<label for="commentnow">Post a comment</label>
<textarea id="commentnow" name="comment" cols="45" rows="8" aria-required="true"></textarea>
JS 小提琴演示。
的for
属性label
必须等于id
您要关注并与之关联的元素的label
。
回应 OP 的评论(在评论中,如下):
两个问题:兼容性如何?如何使它成为可点击文本的按钮(悬停时光标会发生变化)......?
为了解决兼容性问题,该label
元素从 HTML 4.01 开始就已经存在,而且我还没有遇到过不能使用它的浏览器(包括 IE 7,但我不记得在 IE 6 中使用过它)。
要让它看起来像一个按钮,只需使用 CSS(就像您将a
元素样式设置为像一个按钮一样,例如:
label {
color: #666;
display: inline-block;
padding: 0.3em 0.5em;
border: 1px solid #aaa;
background-color: #eee;
margin: 0.5em;
}
label:hover,
label:active,
label:focus {
color: #f90;
box-shadow: 0 0 0.3em #f90;
}
JS Fiddle 演示,这不是一个特别漂亮的示例,但确实表明样式可能性都存在,并且在这方面与任何其他元素没有什么不同。