如何将这段JavaScript代码转为jQuery?聚焦字符串拼接问题
问题分析与修正方案
你的jQuery代码存在三个关键问题,逐一修正即可解决:
- 获取值长度的错误:jQuery的
val是方法而非属性,需要调用val()获取输入框内容后再取length,用$(this)替代重复选择#dollar-input更高效。 - 字符串拼接的错误:直接写
"len+3+ch"会被当作纯字符串解析,无法将变量值代入,需要用模板字符串${len + 3}ch或者普通字符串拼接(len + 3) + "ch"来生成正确的CSS值。 - 选择器不准确:原始JS操作的是id为
dollar-sign的元素,你用$("label")会选中页面所有label,应该改为$("#dollar-sign")精准定位目标元素。
修正后的完整代码:
$(document).ready(function(){ $("#dollar-input").keyup(function(){ let len = $(this).val().length; $("#dollar-sign").css("right", `${len + 3}ch`); // 也可以使用普通字符串拼接写法: // $("#dollar-sign").css("right", (len + 3) + "ch"); }) })
内容的提问来源于stack exchange,提问作者iamut04
相关产品推荐
相关产品推荐

