jquery - 环绕每个父文本的跨度

标签 jquery parent-child

我有这样的情况:

<ul>
    <li>
        <a href="#">Link 1</a>
        <ul>
            <li><a href="">Sub link</a></li>
        </ul>
    </li>
    <li>
        <a href="">Link 2</a>
        <ul>
            <li><a href="">Sub link</a></li>
        </ul>
    </li>
</ul>

如果文本有子元素,我需要将 span 标签包裹起来。所以第一个 li 需要看起来像

<li><a href="#"><span>Link 1</span></a>

它需要不受限制:

<ul>
  <li>
    <ul>
      <li>
        <ul n>
           <li n>

我什至不知道如何解决这个问题。我厌倦了这样的事情:

$('li').parent().wrapInner('<span />');

但事实并非如此。

如果有任何帮助,我将不胜感激。

Tnx,

最佳答案

$('li ul').parents('li').children('a').wrapInner('<span />');

这应该是一个快速的方法,我昨天回答了一个类似的问题并做了一个jsperf:http://jsperf.com/jquery-has-vs

这里有一个jsfiddle来演示:http://jsfiddle.net/n9Ew8/2/

文档:

.siblings(): http://api.jquery.com/siblings

.wrapInner():http://api.jquery.com/wrapinner

关于jquery - 环绕每个父文本的跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8423307/

相关文章:

jquery - 将插件的方法应用于动态创建的元素?

css - 如何从 asp.net 中的子窗体更改母版页中控件的属性

java - 将单例注入(inject)到 Spring Boot 应用程序上下文中

c - 子进程和父进程之间的管道通信使用 pipe()

html - CSS - 第 n 个子条件出现在错误的元素上

javascript - 未捕获的类型错误 : Cannot read property 'top' of undefined

javascript - 根据曲线/方程/公式修改滚动持续时间

javascript - jquery从中心到最左或最右进行动画(基于文档宽度在屏幕外)

jquery - 使用 jquery 设置 CSS Top 值不起作用

Django-管理员 : Editing child model without inlineForm