在没有Event Listener的情况下将span转换为链接

时间:2016-07-13 12:32:36

标签: javascript

我有一个包含跨度的菜单,每个跨度必须变成一个链接(href)。 span包含来自字符串数组的文本,链接将是小写字母(+ .aspx)。

示例

menuItems = ["Home", "Help", "FAQ", "Login"] //Will turn into 4 links

我不想使用事件监听器(onclick),因为我希望链接显式为HTML(搜索引擎友好)。

我的建议

我看到的最简单的方法是创建自定义<a>元素并在其中插入span.outerHTML,但我想知道是否有人有其他建议。

a.innerHTML = span.outerHTML

编辑:使用<a>代替<span>有哪些缺点/好处? <span>是否接受与<a>相同的属性( href 除外)?

1 个答案:

答案 0 :(得分:1)

最好的方法是使用<a>作为链接,这将有助于机器人了解您网页的架构,之后也会提供一些优势。

与SEO相关的规范要求您使用语义标记(例如<figure> (for images))来帮助您的网站获得排名。 在您的情况下,您正在寻找一个类似于以下内容的导航菜单:

   <nav class="headerNav">
       <a href="#">Link 1</a>
       <a href="#">Link 2</a>
       <a href="#">Link 3</a>
        ...
   </nav>

然后,您可以使用nav.headerNavnav.headerNav a应用所需的样式。 这将让机器人(如谷歌的抓取工具)这是一个导航菜单,它将跟随所有链接。

<span>可能支持href元素(不是我所信赖的所有浏览器),但它的主要目的不是用作链接,它已经习惯了< em>强调文字或使其粗体或有色,主要是 内嵌 编辑。