jq中text()和val()方法的异同

首先为什么比较这两个方法?

情景如下

<textarea id="content">你吃饭了吗?</textarea>

我在HTML中想获得textarea的值并作为表单内容提交

但是这个值是用户自己输入的,那么我就要用js获取到这个值,为了方便,我就用jq的方法来获取了。

当然,标签内的值我们表面上一想用.text()不就行了么?


使用.text()情况

是的,表面上我们用.text()成功了!

但是!!当我们的用户修改值以后再获取,情况如下


用户修改值后再次获取

我们很明显的发现,.text()获取的还是你吃饭了吗?而不是你吃饭了吗?我没吃!!!

所以作者认为这就是我们区分text()和val()方法的最好的例子!!!

也就引出了比较异同的想法。

解决方法

既然出了问题我们就要解决问题

那么我们用val()试试!!!


使用val()的结果正确!

好了,问题解决了!

比较异同

那么很容易发现,text()获取的是标签内的值比如<span>test</span>,我们用text()就能获取到test。

而val()则取的是标签的value。比如<input type="text" value="测试">,我们用val()就能获取到测试。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容