如何在文本选择中获取所有<img>标签?

Vla*_*eev 8 javascript jquery dom

我已经看了一会儿,但似乎没有一种简单的方法可以做到这一点.jQuery至少没有帮助,它似乎完全缺乏对选择或DOM范围的任何支持.我希望的东西很简单$.selection.filter('img')似乎只能用几十行代码来处理手动枚举范围和浏览器实现不一致的元素(虽然ierange有帮助).还有其他快捷方式吗?

Del*_*ani 2

var fragment = getSelection().getRangeAt(0).extractContents();
Run Code Online (Sandbox Code Playgroud)

选择中的节点将被删除并在 a 中返回DocumentFragment,您现在可以像访问任何元素一样访问childNodesof 。fragment

  • 几点:首先,您错过了 `cloneContents()` 中的括号。其次,变量名称具有误导性,因为生成的对象是“DocumentFragment”,而不是“范围”。第三,此片段中的任何图像都将是原始范围中发现的图像的克隆,因此不太可能有用。第四,这在 IE 中不起作用。 (3认同)