首先为什么比较这两个方法?
情景如下
<textarea id="content">你吃饭了吗?</textarea>
我在HTML中想获得textarea的值并作为表单内容提交
但是这个值是用户自己输入的,那么我就要用js获取到这个值,为了方便,我就用jq的方法来获取了。
当然,标签内的值我们表面上一想用.text()不就行了么?
是的,表面上我们用.text()成功了!
但是!!当我们的用户修改值以后再获取,情况如下
我们很明显的发现,.text()获取的还是你吃饭了吗?而不是你吃饭了吗?我没吃!!!
所以作者认为这就是我们区分text()和val()方法的最好的例子!!!
也就引出了比较异同的想法。
解决方法
既然出了问题我们就要解决问题
那么我们用val()试试!!!
好了,问题解决了!
比较异同
那么很容易发现,text()获取的是标签内的值比如<span>test</span>,我们用text()就能获取到test。
而val()则取的是标签的value。比如<input type="text" value="测试">,我们用val()就能获取到测试。