I have found an <input type="text" ...
element on a page, for which $('thatElement').val()
and $('thatElement')[0].value
return the value, the value is displayed in the rendered output, but there is no value="..."
attribute on the element itself.
How can there be no value attribute in the HTML for an input element, but it still has a value and still displays its value?
Browser console:
> $('thatElement')[0].value
'The text that the page shows inside of the input'
> $('thatElement')[0].outerHTML
'<input autocomplete="off" type="text" readonly spellcheck="false">'