我正试图向一个具有文本框角色的div发送一个新值,但我收到了以下错误:
Uncaught TypeError:document.querySelector(...).value is not a function at <anonymous>:1:59
HTML代码
<div class="msg-form__contenteditable t-14t-black--light t-normal flex-grow-1 full-height notranslate"contenteditable="true" role="textbox"aria-multiline="true" aria-label="Write a message…">
<p>
<br>
</p>
</div>
我的代码它找到元素,但不发送值。
document.querySelector('[aria-label="Writea message…"]').value("Paul")
以下是关于textbox
角色的一些轻松解读。直接从那里:
使用类型为"的
<input>
元素是更好的实践;文本";,或者CCD_ 3元素而不是ARIA文本框角色。当使用任一语义元素时,ARIA文本框角色是不必要的。请参阅关于在HTML中使用ARIA的说明。
如果设置为使用<div>
,则value
不是其有效属性,需要使用.innerText
或innerHTML
document.querySelector('[aria-label="Write a message…"]').innerHTML = 'Paul';
另外:.value()
不是一个函数(这是您收到的错误(。如果您试图设置value
是其有效属性的元素的值,那么将element.value = 'Paul';
与JavaScript一起使用,或者element.val('Paul');
与jQuery 一起使用