我有一个包含跨度的菜单,每个跨度必须变成一个链接(href)。该范围包含来自字符串数组的文本,链接将是小写字符串 (+ .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 除外)?
最佳答案
最好的方法是使用<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.headerNav
应用您想要的样式或nav.headerNav a
。
这将使机器人(如谷歌的爬虫)认为这是一个导航菜单,它将跟随所有链接。
<span>
可能会支持href
元素(我相信并非在所有浏览器上),但它的主要目的不是用作链接,它用于强调文本或使其粗体或彩色,主要是<强>内联编辑。
关于javascript - 在没有事件监听器的情况下将跨度转换为链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38351841/