如何知道选择范围内是否存在链接元素

2023-11-27

在 Javascript 中,我想确定一个元素是否A元素,存在于给定范围/文本范围内。目的是确定用户当前的选择是否包含链接。我正在构建一个富文本编辑器控件。

range 对象具有 commonAncestorContainer (W3C) 或parentElement() (Microsoft) 方法,该方法返回范围中所有元素的最接近的公共祖先。然而,在这个元素内部寻找A元素将不起作用,因为这个共同祖先还可能包含不在范围内的元素,因为范围可以通过父级开始或结束。

你将如何实现这一目标?


Selection.containsNode 怎么样?https://developer.mozilla.org/en/DOM/Selection/containsNode

就像是:

var selection = window.getSelection();
var range = selection.getRangeAt(0);
var result = $('a', range.commonAncestorContainer).filter(function() {
  return selection.containsNode(this);
});
console.log(result);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何知道选择范围内是否存在链接元素 的相关文章

  • 在 config() 模块中注入依赖项 - AngularJS

    目前在 app js 中我有以下路线 var gm angular module gm gm services gm directives gm filters gm controllers ngSanitize gm config rou
  • 循环选项在 youtube js api 中不起作用

    我想知道为什么我的代码不循环播放视频 除了循环选项之外 一切正常 我真的需要它 多谢 div You need Flash player 8 and JavaScript enabled to view this video div
  • 通过 declarativeNetRequest + extensionPath 重定向时获取原始 URL

    我需要在导航时但在用户从使用设置的规则重定向之前获取 chrome 选项卡的 urldeclarativeNetRequest 目前 用户可以使用上下文菜单添加规则 当尝试访问过滤的主机时 它将被重定向到内部扩展页面 chrome cont
  • 如何根据D3中的数据创建元素?

    看着sample https github com mbostock d3 wiki Selections wiki data d3 select body selectAll div data 4 8 15 16 23 42 enter
  • 如何避免多系列折线图d3.js的工具提示重叠

    我已经在多系列折线图上创建了工具提示 如下所示在这里回答 https stackoverflow com questions 34886070 d3 js multiseries line chart with mouseover tool
  • 图表js不显示

    我正在尝试使用 Charts js 创建一个简单的折线图 当我运行下面的代码时 没有出现图表 我究竟做错了什么 我正在关注这个教程http www chartjs org docs latest getting started http w
  • 将表单传递给 AngularJS 组件进行验证

    我正在将旧代码库迁移到 AngularJS 1 5 所推广的新组件架构 我在对较大的表单执行此操作时遇到了问题 传统上 我会附加表单验证 如下所示
  • 如何使用 javascript/ASP.NET/CSS 旋转和淡入淡出背景图像

    我需要随机淡入淡出背景图像 这将是一个定时函数 例如每 5 秒一次 我需要使用 ASP NET Javascript CSS 或全部三者来完成此操作 请大家帮帮我 谢谢 Cycle 一个 jQuery 插件 是一个非常灵活的图像旋转解决方案
  • 在 angularJS 中覆盖模块值/常量的最佳方法

    我用 angularJS 编写了一个模块 封装了所有后端通信 为了获得更大的灵活性 我将 api 前缀作为模块上的常量值 可能是值 因为我没有在配置阶段使用它 所以像 angular module myapp data constant a
  • 任何 JavaScript 代码都是有效的 TypeScript 代码吗?

    目前我已经开始学习TypeScript 从我研究过的文档来看TypeScript 我看到一些纯的样品JavaScript代码可以编译为TypeScript code 我的问题是 TypeScript 语言的设计方式是否使任何 JavaScr
  • 为什么 Bootstrap 需要 jQuery? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我已经多次用谷歌搜索这个问题 但从未找到满意的答案 大多数答案似乎只是说 是的 Bootstrap 插件确实需要 jQuery https st
  • 如何从矩形点计算旋转角度?

    我有4分1 2 3 4闭合一个矩形 这些点按以下方式排列在数组中 x1 y1 x2 y2 x3 y3 x4 y4 我遇到的问题是矩形可以旋转一定角度 如何计算原始点 灰色轮廓 和角度 我试图在 javascript css3 transfo
  • setTimeout() 的问题

    这是我的代码 我想要它做的是写 0 等待一秒 写 1 等待一秒 写 2 等待一秒 等等 而是写 5 5 5 5 5 for i 0 i lt 5 i setTimeout document write i 1000 http jsfiddl
  • 为什么 if 语句中的赋值等于 true?

    首先我要说的是我理解两者之间的区别 and 第一个用于将右侧值分配给左侧变量 第二个用于比较两个值的等价性 第三个不仅用于等价性 还用于类型比较 即true 1会回来false 所以我知道almost任何时候你看到if 作者很有可能打算使用
  • Immutable.js 推入嵌套对象中的数组

    假设有一个对象 const object foo bar 1 2 3 我需要推动4 to object foo bar array 现在我正在这样做 const initialState Immutable fromJS object co
  • Ajax调用完成后执行函数

    我是 Ajax 新手 我尝试在使用 for 循环时使用 Ajax Ajax 调用之后 我正在运行一个使用 Ajax 调用中创建的变量的函数 该函数只执行两次 我认为 Ajax 调用可能没有足够的时间在循环开始之前进行调用 有没有办法在运行
  • 通过排列四个给定数字找到最大可能时间 HH:MM

    我最近为了工作晋升而参加了编码测试 这是我真正遇到的任务之一 我想知道什么是最好的方法来做到这一点 我使用了大量的 if 和 if else 这不是最干净的解决方案 但完成了工作 我被问到的问题是 将 4 个数字格式化为 24 小时时间 0
  • 在 Javascript 中使用 fetch API 接收和处理 JSON

    在我的项目中 当条件不足时 我的 Django 应用程序会发送带有消息的 JSON 响应 我使用这个 JsonResponse 指令 Code data is taken email email return JsonResponse da
  • 如何找出javascript中加载了哪些javascript?

    继另一个问题的评论之后 我问自己是否有办法获取页面上加载的所有 js 代码的列表 就像 Firebug 或 chrome Inspector 所做的那样 有没有一种纯javascript的方法 一种方法是抓取脚本标签 但这样你可能会错过动态
  • 使用来自Processing-JS的JSON

    我想使用编写一个应用程序处理 JS http processingjs org 并且我希望能够使用服务器端数据加载它 我还没有编写服务器端 所以我可以使用任何东西 但似乎明显的 AJAX 事情是使用 JSON 将数据上传到页面中 如何从我的

随机推荐

  • 使用 lambda 参数重写 Coq

    我们有一个函数可以将元素插入到列表的特定索引中 Fixpoint inject into A x A l list A n nat option list A match n l with 0 gt Some x l S k gt None
  • 如何在正则表达式中匹配 12 小时时间 hh:mm?

    如何在正则表达式中匹配 12 小时时间 换句话说 匹配 12 30 但不匹配 14 74 谢谢 这应该有效 1 9 1 012 0 5 0 9
  • 如果我不告诉 C++ 中要抛出什么类型的对象,则抛出什么 throw 语句?

    由于没有显式抛出任何对象 以下代码异常终止 下面代码中的 throw 语句抛出了什么 int main try cout lt lt try throw catch cout lt lt catch return 0 throw不带参数只能
  • Bootstrap 轮播中的文本垂直居中

    我在 Bootstrap 4 中创建文本水平和垂直居中的轮播时遇到问题 我已经创建了bootply使用轮播 但文本位于左上角而不是屏幕中间 div class carousel slide div class carousel inner
  • RESTEasy 返回的集合中的根元素名称

    我在 JBoss AS 6 中通过 RestEasy 使用 JAX RS 当我的 JAX RS 资源返回项目集合 例如通过列表 时 RESTEasy 始终使用名称collection作为根元素 E g
  • 在一个文件中引用 typescript 定义,而不是所有 JS 文件?

    我正在 Visual Studio Code 中开发 Node JS Express 项目 并且想知道是否有一种方法可以在一个全局位置引用 TypeScript 定义 而不必在每个 JS 文件中重新引用定义 我看到 VSCode 支持 ts
  • 检索存档消息时未实现该功能

    我在用Openfire 3 8 2并安装了监控插件并启用了一对一聊天的存档 现在我可以在服务器端查看存档聊天 但是当我通过一个节时 我得到feature not implemented Request
  • 向数据框的“类”提供向量

    您知道如何向数据框提供名称向量来更改数据框的列或行名称 是否有类似的方法来提供名称向量来更改数据框中每列的类 当您使用 colClasses 通过 read table 读取数据帧时 可以执行此操作 如果数据框是在 R 内部创建的呢 DF
  • 使用 PhoneGap 覆盖 Android 后退按钮行为仅适用于第一页

    我正在使用 PhoneGap 1 5 0 jQuery 1 7 1 和 jQuery mobile 1 0 1 并尝试按照所述覆盖 Android 中的后退按钮here or here document addEventListener d
  • 如何使用QTextBlock?

    我对 C 和 Qt 完全陌生 我想填充一个QTextEdit对象与QTextBlocks 我怎么做 e g 如果我有一句话 鱼来了 我如何将每个单词放入自己的单词中QTextBlock并将该块添加到QTextEdit 或者我误解了如何QTe
  • 使用 GSON 的 Java 克隆对象

    我必须多次克隆一个对象 我的对象是不可序列化的 我正在使用以下功能 SuppressWarnings unchecked public static T cloneThroughJson T t Gson gson new Gson Str
  • htaccess 如果不是子域则添加 www,子域的则删除 www

    我正在尝试做到这一点 可能例子是最好的 所以 domain com gt www domain com www domain com gt www domain com subdomain domain com gt subdomain d
  • 学习多种语言[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 一旦你学会了一种语言 学习
  • Jogl着色器编程

    我刚刚开始着色器编程 GLSL 并使用 RenderMonkey 创建了一些 现在我想在我的 java 代码中使用这个着色器 有没有一些简单的例子来说明我如何做到这一点 我找到了一个非常简单的例子 int v gl glCreateShad
  • 两个外键,如何用laravel eloquent进行映射

    我在 MySQL 中有两个表 第一个表称为用户 第二个表称为游戏 表结构如下 users id 主要 email password 真正的名字 games id 主要 user one id 国外 用户得分 user two id 国外 用
  • Swift 有 String 的修剪方法吗?

    Swift 有 String 的修剪方法吗 例如 let result abc trim result abc 以下是删除开头和结尾的所有空格的方法String 测试示例斯威夫特2 0 let myString t t Let s trim
  • 如何在 Rails 中的关联模型上配置 pg_search 多重搜索?

    我正在将 pg search 添加到 Rails 应用程序中 我不完全理解配置 希望能在正确的方向上轻轻推动 首先 我已经或多或少地在我的应用程序上设置并运行了一个多模型网站 但我想将其扩展为搜索相关模型 例如 我有制造商 汽车 模型类 目
  • UITableView 的一部分周围的阴影

    我有一个UITableView有 4 个部分 现在我想向表格的特定部分添加阴影效果 而不是整个表格 我怎样才能完成这个任务 您将必须更改部分页眉和页脚以及该部分的所有单元格 Use tableView viewForFooterInSect
  • Internet Explorer 8 不传递 ajax 请求的会话 cookie

    我有简单的 php 应用程序 它适用于除 IE8 beta 2 之外的所有浏览器 当我尝试使用 Ajax 调用 jQuery post 方法 更新表字段时出现问题 使用 IE8 调试器 我发现 IE8 不发送会话 cookie 因此 php
  • 如何知道选择范围内是否存在链接元素

    在 Javascript 中 我想确定一个元素是否A元素 存在于给定范围 文本范围内 目的是确定用户当前的选择是否包含链接 我正在构建一个富文本编辑器控件 range 对象具有 commonAncestorContainer W3C 或pa