如何在不使用javascript的情况下将跨度设置为链接?

use*_*489 42 html css

对于我的网站,我需要使用<span>而不是<a>因为我主要使用ajax而不是链接我已经将ajax事件作为我的跨度中的属性.

结果,我不得不手动设置跨度样式看起来像链接.我已经使用悬停和访问的伪类来改变背景和文本颜色,但是要在悬停时将鼠标默认更改为指针,我是否需要使用javascript?或者我可以使用CSS吗?

此外,我刚刚意识到...... <a>不管怎么说我只是使用标签代替<span>,而不是一个href,我会包括一个onclick?它应该工作相同,不是吗?

Dha*_*man 86

span {
     cursor:pointer;
     color:blue;
     text-decoration:underline;
}
Run Code Online (Sandbox Code Playgroud)

此外,您可以使用:hover伪类在悬停时设置元素的样式(您可以使用任何样式,而不仅仅是最初使用的样式).防爆.

span:hover {
     text-decoration:none;
     text-shadow: 1px 1px 1px #555;
}
Run Code Online (Sandbox Code Playgroud)


eas*_*wee 9

请注意,如果您的网站是公开的,并且您指望搜索引擎抓取您的网站,那么href在您抓取网页时蜘蛛没有任何东西可以抓住时,您会丢失很多链接.

您应该使用完整的链接 - 如果您的javascript发生故障,用户仍然可以浏览页面:

<a href="http://www.example.com">Link</a>
Run Code Online (Sandbox Code Playgroud)

你可以通过使用preventDefault()禁用jquery的链接- 你完全分离了基本的html和javascript部分,这意味着你的网站仍然可以在没有javascript的情况下使用.

比你不需要打扰跨度和任何东西 - 但只是为了它

span:hover {
cursor:pointer;
}
Run Code Online (Sandbox Code Playgroud)

将悬停手形光标悬停在悬停的跨度上.

  • `:hover`是多余的,`cursor`表示"指向此元素时更改鼠标光标"和`:hover`表示"指向此元素时",因此您说"当您指向时更改鼠标光标"这个元素,当你指向这个元素时". (2认同)

小智 7

只需添加cursor:pointer;您的spancss。


Amy*_*yth 6

选项1

只需使用anchor如下链接:

<a href="#" onclick="someFunction();"> Link </a>
Run Code Online (Sandbox Code Playgroud)

选项2

我不知道您为什么要使用 span ,但是如果您这样做,您可以执行以下样式使其看起来类似于锚链接。

span {
    color: #000000; /* Change this with links color*/
    cursor: pointer;
    text-decoration: underline;
}

span:hover {
    color: #444444; /* Change the value to with anchors hover color*/
}
Run Code Online (Sandbox Code Playgroud)

  • 如果你有一个单页应用程序 # 会搞乱一切,当你不尝试时更改 URL 并不总是一个好主意 (3认同)