如何选择特定元素后面的所有元素内容?

我有这样的HTML结构:

<tr>
   <td class="CT">
      anything –
      <span class="cu">
         <a href="#"></a>
      </span> – 
      <span class="dt">content</span>
   </td>
</tr>

现在,我只想anything从所有这些HTML代码中进行选择。如何?我可以选择它的文本:

$('tr').text();
/* but the way, there is two function that I feel they can be useful:
   1. closest()
   2. siblings() */

好吧,有什么解决办法吗?

注意:我无法使用replace(),因为有时候的内容<span>或href的内容不同<a>


编辑: anything不仅是一个字符串。可以是以下之一:

anything = this is a <a href="www.example.com">test</a>

anything = hello, how are you

anything = <a href="www.example.com">test1</a> and <a href="www.example.com">test2</a>

实际上,我希望所有内容都td.CT在后面<span class="cu">实际上,它是注释的内容(用于编辑),我想在文本区域中对其进行设置(再次用于编辑)。

漫游者1888

这是一种在<span class="cu">节点之前提取“任何内容”的(简单的)方法

  • 找到所有TD的内容
  • 从jQuery集合转换为js数组
  • 减少阵列,以便将所有但不包括在内的所有节点<span class="cu">都推入阵列。
  • 将节点数组包装$()成一个jQuery集合。
  • 最后,将集合追加到某个DOM容器中以使结果可见。
var $myFragment = $($(".CT").contents().get().reduce(function(obj, node) {
    if($(this).is("span.cu")) {
        obj.stop = true;
    }
    if(!obj.stop) {
        obj.nodes.push(node);
    }
    return obj;
}, {nodes:[], stop:false}).nodes);

// then
$("#myResult").append($myFragment);

// or maybe
//$("#myResult").append($myFragment.text());

我敢肯定有一种更简单的方法,但是我现在想不起来。

DEMOS:


这就是我所说的更简单的方法:

var $myFragment = $(".CT").contents().filter(function(i, node) {
  return !$(node).prevAll().addBack().filter("span.cu").length;
});

演示:http : //jsfiddle.net/1xonqeob/4/


还有一些更通用的东西;jQuery插件.prevAllNodes(),它:

  • 对要在其上找到节点的元素进行操作。
  • 接受要找到的nodeType或nodeTypes数组。不传递任何内容或[]查找所有nodeType。
  • 返回节点的jQuery集合。
// *****************************************************
// A jQuery plugin to find DOM nodes of specified types 
// before the first element in a jQuery collection.
// *****************************************************
$.fn.prevAllNodes = function(types) {
    types = types || [];
    if(!$.isArray(types)) types = [types];
    var that = this.eq(0);
    var nodes = that.parent().contents().get().reduce(function(nodes, node) {
        nodes.stop = nodes.stop || (node == that.get(0));
        return nodes.stop ? nodes : nodes.concat(node);
    }, []).filter(function(node) {
        return types.length == 0 || $.inArray(node.nodeType, types) > -1;
    });
    return $(nodes);
}

用法如下:

var $commentsNodes = $(".CT span.cu").prevAllNodes([Node.COMMENT_NODE]); 

// $commentsNodes is a jQuery collection
// To read comments' text, you need to know to use the `.nodeValue` property. jQuery's $(commentNode).text() will not work.

演示:http : //jsfiddle.net/1xonqeob/5/

$ .fn.nextAllNodes()会非常相似

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何选择元素后面的文本?

来自分类Dev

选择元素后面的文本节点

来自分类Dev

选择元素下方的所有内容

来自分类Dev

选择元素下方的所有内容

来自分类Dev

如何选择位于特定元素顶部的所有子代?

来自分类Dev

我如何选择除特定div之外的所有元素

来自分类Dev

内容不在内容HTML后面的元素前面

来自分类Dev

如何选择除特定父元素之外的所有带有SASS的元素?

来自分类Dev

选择“属于”特定<th>元素的所有<td>元素

来自分类Dev

选择所有未包装在特定元素中的元素

来自分类Dev

如何遍历所有选择的多个元素?

来自分类Dev

如何选择x元素之后的所有n元素?

来自分类Dev

如何使用jQuery将具有特定类的所有元素的内容放入变量中

来自分类Dev

如何选择具有特定类的元素?

来自分类Dev

如何为JQuery选择器选择属于类而不是类的所有元素的特定HTML元素

来自分类Dev

D3:如何选择svg元素下的所有内容

来自分类Dev

Sublime Text:如何选择HTML元素中包含的所有内容?

来自分类Dev

如何发现具有特定标签的ELB后面的所有EC2实例

来自分类Dev

对所选容器后面的所有内容应用模糊处理

来自分类Dev

使用熊猫删除句子后面/里面的所有内容

来自分类Dev

匹配点后面的所有内容(TLD)

来自分类Dev

如何使用jQuery选择具有特定ARIA值的所有元素?

来自分类Dev

如何使用jQuery选择特定div中具有相同名称的所有元素

来自分类Dev

如何使用jQuery通过具有特定值的数据属性选择所有元素

来自分类Dev

如何在jQuery中选择没有特定元素的元素

来自分类Dev

选择具有特定ID的TD中的所有元素

来自分类Dev

我如何选择除具有特定类的div内的那些元素以外的所有元素

来自分类Dev

如何使除特定元素之外的所有元素变暗

来自分类Dev

python查找特定元素的位置并返回其前面的所有不同元素

Related 相关文章

  1. 1

    如何选择元素后面的文本?

  2. 2

    选择元素后面的文本节点

  3. 3

    选择元素下方的所有内容

  4. 4

    选择元素下方的所有内容

  5. 5

    如何选择位于特定元素顶部的所有子代?

  6. 6

    我如何选择除特定div之外的所有元素

  7. 7

    内容不在内容HTML后面的元素前面

  8. 8

    如何选择除特定父元素之外的所有带有SASS的元素?

  9. 9

    选择“属于”特定<th>元素的所有<td>元素

  10. 10

    选择所有未包装在特定元素中的元素

  11. 11

    如何遍历所有选择的多个元素?

  12. 12

    如何选择x元素之后的所有n元素?

  13. 13

    如何使用jQuery将具有特定类的所有元素的内容放入变量中

  14. 14

    如何选择具有特定类的元素?

  15. 15

    如何为JQuery选择器选择属于类而不是类的所有元素的特定HTML元素

  16. 16

    D3:如何选择svg元素下的所有内容

  17. 17

    Sublime Text:如何选择HTML元素中包含的所有内容?

  18. 18

    如何发现具有特定标签的ELB后面的所有EC2实例

  19. 19

    对所选容器后面的所有内容应用模糊处理

  20. 20

    使用熊猫删除句子后面/里面的所有内容

  21. 21

    匹配点后面的所有内容(TLD)

  22. 22

    如何使用jQuery选择具有特定ARIA值的所有元素?

  23. 23

    如何使用jQuery选择特定div中具有相同名称的所有元素

  24. 24

    如何使用jQuery通过具有特定值的数据属性选择所有元素

  25. 25

    如何在jQuery中选择没有特定元素的元素

  26. 26

    选择具有特定ID的TD中的所有元素

  27. 27

    我如何选择除具有特定类的div内的那些元素以外的所有元素

  28. 28

    如何使除特定元素之外的所有元素变暗

  29. 29

    python查找特定元素的位置并返回其前面的所有不同元素

热门标签

归档