解决textarea append无效

维护项目时,遇到jquery对textarea进行append追加操作,竟然没效果

先上图,别人写的代码,没毛病啊
在这里插入图片描述

这里对id为telephoneList的textarea元素先清空,后append数据,打断点看了,boxIdString有值啊,JS也执行了,但是页面咋没值呢?
于是Google 百度 全方面查找,解决方法:找到最开始对id为telephoneList的textarea操作了,看是怎么操作的

找到回显数据操作的方法,如下图
在这里插入图片描述

哦哦,原来如此,页面回显需要赋值时用的是jquery的val方法赋值的,后面再去用append进行追加肯定不行呀
所以这里需更改为$("#telephoneList").append(telephoneList);

理论上大功告成,实际又遇到了神奇的bug:页面不显示数据,按F12看textarea标签里有数据,这就神奇了
在这里插入图片描述

在仔细寻找我的值跑哪去了,发现在一个循环里,不小心把id为telephoneList的textarea给赋了空值!
在这里插入图片描述

解决方法:不要对即将要操作的元素提前赋值

以上为事情经过和处理方法,实际还可以都使用jquery的val方法来进行操作(使用了val就不要在代码中使用append),理论也是可以的!


append无效 解决方案总结:

第一步:
  检查选择器是否使用正确,如 $("#id")少写一个#号,dom都拿不到如何来进行下一步?

第二步:
  检查你最开始对textarea是如何操作的!
  如果最开始用append来赋值,那么后续,清空操作用 $("#id").empty(),赋值追加操作用append,不能用 $("#id").val(“xxx”)来赋值!
  如果最开始用的是 $("#id").val(“xxx”)来赋值,那么后续,清空操作用 $("#id").val(""),赋值操作用 $("#id").val(“xxx”),不能用append来赋值!
  意思就是要统一操作,要么都对textarea的内嵌html进行操作,要么都对value进行操作

第三步:
  仔细检查你的代码(尤其是循环操作),是否对你要操作的textarea赋过值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值