问题标签 [textnode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
6446 浏览

dom - 检索 DOM 文本节点位置

是否可以检索文本节点的几何位置(即从父元素、页面等的顶部/左侧偏移量)?

0 投票
1 回答
719 浏览

jquery - 使用 jQuery 在表格中查找文本

我有一个表,其中包含这样的行:

我想创建一个包含所有文本元素的 jQuery 包装集,然后我可以将它们发送到函数,如果它们不适合它们的单元格,它将截断它们。

我不知道如何获得包装好的套装。

正在尝试这个,但它不起作用:

0 投票
8 回答
9196 浏览

jquery - 使用 jQuery 查找带有文本的元素

我想在包含文本字符串的 div 中创建一个包含所有 html 元素的数组,例如

我不想获取字符串,我希望数组项成为元素(在示例中,将是 p 节点)。我事先不知道字符串是什么,所以我无法查找要匹配的字符串值。我也不希望空文本节点最终出现在数组中。

谢谢!

0 投票
2 回答
8553 浏览

javascript - 文本节点是否有等效于 getBoundingClientRect() 的方法?

有没有办法获得文本节点的边界矩形?

getBoundingClientRect() 方法仅在元素上定义,并且父元素大于实际的文本节点。

0 投票
2 回答
2343 浏览

jquery - jQuery:用一些元素查找和包装文本节点

我的 HTML 代码:

我想在正文中找到任何“firebrand”并将其替换为<span class="firebrand">firebrand</span>jQuery

0 投票
5 回答
608 浏览

javascript - jQuery:将 mouseup 事件附加到容器的所有文本节点

我想在容器的所有节点上附加一个“mouseup”事件,包括使用 jQuery 的文本节点。我怎么做?

更新:

如果我有一些这样的 HTML 片段:

目前,$("p *") 将事件分别应用于<p><strong>不是应用于其中的 2 个文本节点<p>。修改源以添加类不是一种选择。

0 投票
5 回答
26899 浏览

javascript - 如何在不删除所有文本节点的情况下删除 div 中的单个文本节点?

如何删除单个动态创建的文本节点?

我正在动态生成输入,并使用 .createTextNode 在元素之前放置描述性文本。我需要能够删除正在创建并使用 .removeChild 来执行此操作的特定元素。这对于删除单个输入很好,因为我有一些东西可以参考(id/name)。有没有办法为每个文本节点设置某种引用,以便我可以将其连同相应的输入控件一起删除?

0 投票
2 回答
3480 浏览

javascript - JavaScript XML 文本节点是否有 4096 个字符的限制?

为什么我总是只获得有效 XML 文本节点的前 4096 个字符?(使用 JavaScript ...)文本节点是否有限?

0 投票
2 回答
3373 浏览

events - 当 mousedown 和 mouseup 事件不等于单击时

一段时间以来,我一直在使用一些按钮,这些按钮在使用相对位置和 :active 伪类中的 top: 1px 进行单击时会产生压抑的效果。

我遇到了点击事件没有触发的问题,结果证明是由于 mousedown 和 mouseup 事件没有在同一个元素上触发。我做了一些摆弄,以确保最里面的元素覆盖了整个按钮,并发现问题仍然存在。

如果我单击文本顶部的右侧,则链接会向下跳(触发 mousedown 事件)然后返回(触发 mouseup 事件),但不会发生单击。如果我在文本中间很好地单击或远离文本,一切都很好。

我在这里唯一能想到的是 mousedown 事件正在 textNode 上触发,而 mouseup 正在锚元素上触发,因为 textNode 不再位于光标下。捕捉事件对象并使用萤火虫查看目标表明情况并非如此,但我真的想不出另一种解释。阅读了一下,我可以找到一些提到在 Safari 中的 textNodes 上触发的事件,但没有关于这种不匹配的内容。

以下代码段应该允许您复制问题。请记住,您必须单击文本顶部的右侧,或上方一两个像素,并且此问题仅发生在一行像素中:

乱用 CSS,不使用 inline-block,增加行高而不是填充等似乎在这里没有效果。我尝试了很多组合。我的大部分测试都是在 Firefox 中完成的,以允许我绑定到事件并通过 firebug 记录正在发生的事情,但我在其他浏览器中也遇到了这个问题。

除了失去主动跳跃之外,有没有人可以提供任何灵感?如果可以的话,我真的很想保持这种效果。

非常感谢,

Dom(没有双关语)

0 投票
3 回答
510 浏览

jquery - Dom 节点操作,如何删除包装我的选择的标签?

我试着向你解释我的“问题”。我想知道当我选择部分文本时,该文本是否被 html 标签“包装”,并在函数中删除它们。

例如这句话:

车是<strong>绿色</strong>的,船是黑色的

如果我选择“绿色”并单击一个按钮,我想验证绿色是否被包裹<strong>(因为它没关系),并且在函数中删除<strong>标签而不删除包含“绿色”的标签。

我已经尝试过这样做,但是当我删除子节点并重新创建一个子节点时,我的新节点是空的,如果我尝试直接将文本放入document.createTextNode,我的新节点会出现,但<strong>标签会保留。

我不是 DOM 操作专家。你能帮我解决这个问题吗?

非常感谢您的宝贵帮助。