首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery:用span替换元素a

jquery:用span替换元素a
EN

Stack Overflow用户
提问于 2016-06-24 11:08:03
回答 3查看 3.1K关注 0票数 2

获取信息:这是一个移动(画布外)菜单,它在页面源中不可见。它仅在移动视图中使用“代码检查器”等我说的那一页可见。

我的代码:

代码语言:javascript
复制
 $('.mm-listview li:(:nth-child(2)) .mm-next+a').replace('span');​

我的html:

代码语言:javascript
复制
 <ul class="mm-listview">
 <li><a class="mm-next" href="#mm-2" data-target="#mm-2"></a>
 <a href="http://piirissaareturism.ee/avasta-piirissaar/">Avasta Piirissaar</a>
 </li>
 <li><a class="mm-next" href="#mm-3" data-target="#mm-3"></a>
 <a href="http://piirissaareturism.ee/kasulik-info/">Kasulik info</a>
 </li>

目前它还没有被取代。我知道,这应该很简单.

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-24 11:12:08

replaceWith()与回调一起使用,然后使用内容和更新生成span。此外,您的选择器无效,因此将li:(:nth-child(2))更改为li:nth-child(2)以使其有效。

代码语言:javascript
复制
 $('.mm-listview li:nth-child(2) .mm-next+a').replaceWith(function() {
   return '<span>' + $(this).text() + '</span>'
 });
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
my html:

<ul class="mm-listview">
  <li>
    <a class="mm-next" href="#mm-2" data-target="#mm-2"></a>
    <a href="http://piirissaareturism.ee/avasta-piirissaar/">Avasta Piirissaar</a>
  </li>
  <li>
    <a class="mm-next" href="#mm-3" data-target="#mm-3"></a>
    <a href="http://piirissaareturism.ee/kasulik-info/">Kasulik info</a>
  </li>
</ul>

或者您可以使用拆开()包()方法。

代码语言:javascript
复制
$('.mm-listview li:nth-child(2) .mm-next+a').contents().unwrap().wrap('<span/>');
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
my html:

<ul class="mm-listview">
  <li>
    <a class="mm-next" href="#mm-2" data-target="#mm-2"></a>
    <a href="http://piirissaareturism.ee/avasta-piirissaar/">Avasta Piirissaar</a>
  </li>
  <li>
    <a class="mm-next" href="#mm-3" data-target="#mm-3"></a>
    <a href="http://piirissaareturism.ee/kasulik-info/">Kasulik info</a>
  </li>
</ul>

如果不想维护元素内容,那么在新内容中使用replaceWith()

代码语言:javascript
复制
$('.mm-listview li:nth-child(2) .mm-next+a').replaceWith('<span/>');
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
my html:

<ul class="mm-listview">
  <li>
    <a class="mm-next" href="#mm-2" data-target="#mm-2"></a>
    <a href="http://piirissaareturism.ee/avasta-piirissaar/">Avasta Piirissaar</a>
  </li>
  <li>
    <a class="mm-next" href="#mm-3" data-target="#mm-3"></a>
    <a href="http://piirissaareturism.ee/kasulik-info/">Kasulik info</a>
  </li>
</ul>

UPDATE:在代码删除it.Check之后还有一个额外的字符,您可以看到错误。

未登录的SyntaxError:无效的或意外的令牌

在下面的图片中,你可以看到它是一个红色的标记。

票数 2
EN

Stack Overflow用户

发布于 2016-06-24 11:10:38

这应该能起作用:

代码语言:javascript
复制
 $('.mm-listview li:nth-child(2) .mm-next+a').replaceWith('<span></span>');​
票数 1
EN

Stack Overflow用户

发布于 2016-06-24 11:15:38

演示链接

html代码

代码语言:javascript
复制
<ul class="mm-listview">
 <li><a class="mm-next" href="#mm-2" data-target="#mm-2">1</a>
 <a href="http://piirissaareturism.ee/avasta-piirissaar/">Avasta Piirissaar</a>
 </li>
 <li>
 <a class="mm-next" href="#mm-3" data-target="#mm-3">2</a>
 <a href="http://piirissaareturism.ee/kasulik-info/">Kasulik info</a>
 </li>

js代码

代码语言:javascript
复制
 $('.mm-listview li:nth-child(2) mm-next+a').replaceWith($('<span />').text('123'));
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38011981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档