Javascript 为什么Range.getBoundingClientRect()在textarea内的范围返回0?

Javascript 为什么Range.getBoundingClientRect()在textarea内的范围返回0?,javascript,html,css,range,getboundingclientrect,Javascript,Html,Css,Range,Getboundingclientrect,我有元素并在其中创建范围: 通过document.createRange() 通过textarea.childNodes[0] 通过range.setStart和range.setEnd 然后我调用range.getBoundingClientRect(): let textarea=document.querySelector('textarea'); let node=textarea.childNodes[0]; 让range=document.createRange(); rang

我有
元素并在其中创建范围:

  • 通过
    document.createRange()
  • 通过
    textarea.childNodes[0]
  • 通过
    range.setStart
    range.setEnd
然后我调用range.getBoundingClientRect():

let textarea=document.querySelector('textarea');
let node=textarea.childNodes[0];
让range=document.createRange();
range.setStart(节点,3);
range.setEnd(节点,5);
log(range.getBoundingClientRect())
aabbcc
是一个

使用CSS内容属性插入的对象将被匿名替换 元素。它们是“匿名的”,因为它们不存在于HTML中 标记


谢谢你的回答,但为什么我要用通常的方式替换所有预期的工作?请参阅问题
的更新,问题是“使用CSS内容属性插入的对象是匿名替换的元素。它们是“匿名”的,因为它们不存在于HTML标记中。”谢谢。因此,没有简单的方法来修改我的代码,以使其在textarea中返回非零?您可以使用
元素和
contenteditable
属性集