我的测试结果是,属性值与值值无关 – 至少在我使用Safari 5.1和FF 6进行测试时.
所以,如果我修改了文本字段的内容(我输入了ueoau)并选择它
> var text = $('input[type=text]').first()
并使用.val()获取其值
> text.val()
"ueoau"
但得到它的标记会将值呈现为空(这个片段来自james的回答)
> $('
').append(text.clone()).remove().html()
""
获取属性值也不起作用(在这里使用DOM getAttribute来避免jQuery在attr()中的魔力)
> text[0].getAttribute('value')
""
同样,属性值与值值不同.因此,您可以使用的一种解决方法是将其属性设置为其值
> text[0].setAttribute('value', text.val())
> $('
').append(text.clone()).remove().html()
""
这对我有用.我想我的解释是,属性值仅代表字段的初始值,之后不与其真值同步.