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
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
属性集