javascript – 我的输入当前值存储在哪里?

前端之家收集整理的这篇文章主要介绍了javascript – 我的输入当前值存储在哪里?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我们考虑一下这段代码

如果我更改输入框内的文本,我知道我可以通过以下方式检索它:

> $(‘#my-input’).val()
> document.getElementById(‘my-input’).value

但如果我右键单击>检查我会看到类似的东西:

enter image description here

有没有办法在DOM中看到值foobar?如果没有,这个值存储在哪里?

这个问题与浏览器无关,导致这里的背景是IE 11.0.14中的一个奇怪的错误

最佳答案

Is there any way to see it inside the DOM?

当今浏览器中的大多数DOM检查员都没有(显然,你可以通过查看影子DOM在Chrome中看到显示其价值的内容,作为实现细节;请参阅Andrey’s answer).例如,它不对应任何属性,并且那些DOM检查器倾向于显示当前元素和属性,但不显示其他属性.他们当然可以,我从来没有见过那样做过.

If not,where is this value stored?

在元素的属性中.当然,元素是浏览器的DOM实现中的对象. HTMLInputElement有一个value property,这是存储当前值的地方.没有为此定义HTML属性; value attribute是输入的默认值,而不是其当前值. (它反映在defaultValue property中.)因此,与id属性不同,它直接反映了id属性,值根本不是反射属性(因为它没有相应的属性可供反映).

猜你在找的HTML相关文章