javascript - 在没有事件监听器的情况下将跨度转换为链接

标签 javascript

我有一个包含跨度的菜单,每个跨度必须变成一个链接(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/

相关文章:

javascript - Chrome 5 中的日期格式

javascript - 如何对数组执行 foreach,其值必须与另一个数组中的特定键和相同值匹配

javascript - 固定列表结构

javascript - 如何使用 Javascript 选择所有具有特定文本内容的 anchor 标记?

javascript - 切换不适用于显示备用消息

javascript - 如何验证文本框以检查输入的值是否仅是 100 的倍数

javascript - 如何将 Angular 与 HTML5 地理定位原生 API 结合使用?

javascript - jQuery 无法获取 attr 值

Javascript 函数 仅在连接类型为无时发出警报

javascript - 我可以在processing.js 上对 Three.js 进行后处理吗?