微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 查找文本节点

是否有一个聪明的jQuery选择器用于选择这样的文本节点:
<div><input type="text">one <span>two</span> three</div>

我想从上面的标记获取三个并将其包装在如下的强标记中:

<div><input type="text">one <span>two</span> <strong>three</strong></div>

解决方法

以下是如何使用jQuery选择文本节点:
var x = $('div') 
  .contents() 
  .filter(function() { 
    return this.nodeType == 3;
    //return this.nodeType == Node.TEXT_NODE;  this works unless using IE 7
  });

在你的例子中,x将在索引0处包含’one’,在索引1处包含’three’.就像Keith Rousseau所说,你不能真正抓住那个文本,但是如果你知道它将是最后一个你可以得到它像这样:

var elemThree = x[x.length-1];

您还可以添加如下强标记

$(x[x.length-1]).wrap("<strong></strong>");

This问题描述了使用jQuery选择文本节点(我的第一个代码片段).

原文地址:https://www.jb51.cc/jquery/181399.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐