【问题标题】:jQuery .prepend calling twice on list itemsjQuery .prepend 在列表项上调用两次
【发布时间】:2013-06-01 09:49:55
【问题描述】:

我正在尝试在一组列表项中添加一些标记。我基本上希望在 LI 中的锚链接之前添加一些图标。

<ul class="submenu-children">
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>

$('.submemu-children li a').prepend('<i class="icon-angle-right"></i>');

这是我的 JSFiddle -

http://jsfiddle.net/4HfmS/

我以前可以使用它,但它实际上输出了我的 HTML 两次,有时是四次,我只想要一个图标一次 :)

我猜我的选择器定位错误?

非常感谢任何帮助。

【问题讨论】:

  • 错字$('.submenu-children li a')
  • 这里没有错:jsfiddle.net/4HfmS/1
  • 问题,你为什么不对列表项设置样式?似乎您只想放置一个图标来代替常规列表项目符号。见w3schools.com/cssref/pr_list-style-image.asp
  • 如果您将&lt;i&gt; 更改为&lt;span&gt;X&lt;/span&gt; 更容易看到它失败。
  • @RenéWolferink - 我已经这样做了,但我想要一个带有精灵的翻转,但不幸的是,如果 LI 在我的响应式设计中继续进行 2 行,它会损坏并显示两次。我认为在 标记内使用字体更适合此解决方案。

标签: javascript jquery html append


【解决方案1】:

子菜单拼写错误。

而不是这个:

$('.submemu-children li a').prepend('<i class="icon-angle-right"></i>');

使用这个:

$('.submenu-children li a').prepend('<i class="icon-angle-right"></i>');

这是一个包含正确库的示例(对于 icon-angle-right 类):jsFiddle。在这个例子中它只前置一次。

【讨论】:

  • 我真是太傻了,感谢您指出,多年来一直在摸不着头脑! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多