Javascript 如何从DOM节点获取文本节点?
我试图用木箱装一个靶场物体Javascript 如何从DOM节点获取文本节点?,javascript,Javascript,我试图用木箱装一个靶场物体 let range = document.createRange(); 你们都知道,我们必须打电话 range.setStart(startNode,startOffset) ; 及 我希望同时传递startNode和endNode的文本节点,因为如果传递DOM节点,则无法指定自定义偏移量。我的问题是如何获取元素的文本节点 我只是不想要文本作为字符串,我想要文本节点 假设我有一段话 <p id="para">This is a paragraph<
let range = document.createRange();
你们都知道,我们必须打电话
range.setStart(startNode,startOffset) ;
及
我希望同时传递startNode和endNode的文本节点,因为如果传递DOM节点,则无法指定自定义偏移量。我的问题是如何获取元素的文本节点
我只是不想要文本作为字符串,我想要文本节点
假设我有一段话
<p id="para">This is a paragraph</p>
但是我怎样才能得到段落中的文本节点呢
我希望它作为一个文本节点,而不仅仅是一个字符串。请帮忙
您可以使用
段落innerText
获取值这是一个段落
更新:这应该适合你
const textNode=document.querySelector('#para').childNodes[0]代码>您可以使用段落innerText
获取值这是一个段落
更新:这应该适合你
const textNode=document.querySelector('#para').childNodes[0]代码>从中获取TextNode
<p id="para">This is a paragraph</p>
这是从中获取TextNode的段落
<p id="para">This is a paragraph</p>
这是一个段落
每个doElement
都有一个可以访问的childNodes
数组状对象。
尝试使用更改textNode
值
const textNode = document.querySelector('#para').childNodes[0];
每个doElement
都有一个childNodes
类似数组的对象,您可以访问它。
尝试使用更改textNode
值
const textNode = document.querySelector('#para').childNodes[0];
它返回字符串,而不是节点。它给出了一个错误---->Uncaught TypeError:未能对“Range”执行“setStart”:参数1不是“Node”类型。请尝试使用该字符串创建一个节点,使用let textNode=document.createTextNode(para.innerText)
我尝试过它,但当我以那种方式创建时。它表示范围不在文档-->addRange()中:给定的范围不在文档中。我用JSFIDLE更新了问题,请检查是否有时间它返回字符串,而不是节点。它给出了一个错误---->Uncaught TypeError:未能对“Range”执行“setStart”:参数1不是“Node”类型。请尝试使用该字符串创建一个节点,使用let textNode=document.createTextNode(para.innerText)
我尝试过它,但当我以那种方式创建时。它说该范围不在文档-->addRange()中:给定的范围不在文档中。我用JSFIDLE更新了问题,请检查您是否有time@Kaiido答案涵盖了一些有用的优势cases@Kaiido答案包括一些有用的边缘情况