用JQuery的text()方法赋值的问题

用JQuery的text()方法赋值,textarea显示正常,在页面手动改变了textarea中的文字,然后又触发一次text()方法,结果不能改变显示出来的文字,一直... 用JQuery的text()方法赋值,textarea显示正常,在页面手动改变了textarea中的文字,然后又触发一次text()方法,结果不能改变显示出来的文字,一直显示手动改变后的值。
脚本是在Chrome和Firefox中测试的,改用val()就正常了。究竟是为什么呢?
展开
 我来答
不二进制
推荐于2017-11-25 · TA获得超过749个赞
知道小有建树答主
回答量:441
采纳率:50%
帮助的人:319万
展开全部
在textarea元素中,双标签中的内容是textarea默认值,就和那个input中设置value的值一样。

但是对于这中网页上的输入元素,他们的值在手动改了之后就不是默认值了。

对于textarea元素,你用text()方法修改的只是html的值,也就是修改了它的默认值(可以在crome浏览器下用审查元素查看效果,是html修改了;而修改value就不会修改html)。
如果没有修改过的textarea,你用text()修改是能够看见效果的,因为现在显示的是默认值;
当你修改过后,就只能用val()方法去修改它的值了。

还有的默认值的区别是,在表单中有个元素
<input type="reset" />
会重置表单内容,就会变成默认值。这个时候用text()就对textarea有用了
匿名用户
推荐于2016-04-24
展开全部
jQuery 取值、赋值的基本方法,参考如下:
/*获得TEXT.AREATEXT的值*/
var textval = $("#text_id").attr("value");
//或者
var textval = $("#text_id").val();
/*获取单选按钮的值*/
var valradio = $("input[@type=radio][@checked]").val();
/*获取一组名为(items)的radio被选中项的值*/
var item = $('input[@name=items][@checked]').val();
/*获取复选框的值*/
var checkboxval = $("#checkbox_id").attr("value");
/*获取下拉列表的值*/
var selectval = $('#select_id').val();

//文本框,文本区域:
$("#text_id").attr("value",'');//清空内容
$("#text_id").attr("value",'test');//填充内容
//多选框checkbox:
$("#chk_id").attr("checked",'');//使其未勾选
$("#chk_id").attr("checked",true);//勾选
if($("#chk_id").attr('checked')==true) //判断是否已经选中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
桂慕思0IW
推荐于2018-04-22 · TA获得超过433个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:141万
展开全部
先分清html(),text()和val()。
举个例子:<input type="xxx" value="abcd">1234</input>
text()输出标签中间的内容:1234。
val()输出value属性的值:abcd。
html()输出整段html:<input type="xxx" value="abcd">1234</input>。
一般val()一般只作用于表单元素
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
drink51
2013-02-20 · TA获得超过297个赞
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:143万
展开全部
当然是val()啦。textarea没有text只有value属性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式