javascript - JQuery 在链接前面添加文本

标签 javascript jquery syntax

我有一个包含链接和子链接的无序列表。我想在列表中的子链接前面添加一个 '»' 字符。我可能可以通过 list-style-image:url 使用 CSS 做到这一点,但我宁愿只有文本。到目前为止,我已经尝试过预置但没有取得太大成功。

HTML:

<nav>
<ul>
    <li><a href="#">link 1</a></li>
    <li><a href="#">link 2</a></li>
    <ul>
        <li><a href="#">sublink link 1</a></li>
        <li><a href="#">sublink link 2</a></li>
    </ul>
    <li><a href="#">link 3</a></li>
</ul>
</nav>

我正在使用这段代码:

 $("ul li li").each(function() {
    $(this).closest('li').prepend("»").html();
   });

如果我去掉一级列表项并添加到所有列表项之前,那么它可以工作,但在 Web 检查器中查看时,» 字符仍然有引号。我还尝试了最接近的内容的各种化身,例如 li a 但这也没有什么不同。我没有收到任何语法错误,所以不确定我做错了什么。

我有一个 Fiddle here .

最佳答案

为什么不用一些 CSS?

ul ul li:before {
 content: '»';   
}

像这样使用 JavaScript 修改 UI 是一种资源浪费。在不知道您的实际用例的情况下,这是主观的。

关于javascript - JQuery 在链接前面添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12467687/

相关文章:

javascript - 如何在一个窗口中为不同页面设置一次变量

jquery - Django 框架中的 Ajax Post?

jquery - 使用 JQuery 在 HTML 中打印 Json 数组

sql - MySQL多级父选择/加入问题

python - 混淆python类和实例变量

vba - Call关键字在VB6中起什么作用?

javascript - 如何在 react js中将数据搜索参数保留在url中

javascript - JavaScript 中的管道 createElement 和appendChild

Javascript |无法用 String.replace() 替换\n

javascript - 使用 javascript 确定数组提交按钮,然后使用 Ajax 输出数据