为何使用jQuery attr()方法无法为form表单成功设置id属性?
代码无法正常运行的核心原因
- 调用jQuery的
attr()方法设置属性时,第一个参数(属性名)必须为字符串类型。原代码中$("form").attr(id, "message");里的id没有用引号包裹,JS会将其当作未定义的变量解析,直接抛出引用错误,导致后续给input赋值的逻辑完全中断,无法执行。
修正后代码
JS部分
$("button").click(function() { // 给属性名id添加引号,作为字符串参数传入 $("form").attr("id", "message"); $("input").val($("form").attr("id")); })
HTML部分
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form> <input type="text"> </form> <button>Check</button>
修正后点击Check按钮,即可实现预期效果:form的id属性值
message会自动填充到input输入框内。
内容的提问来源于stack exchange,提问作者Almir
相关产品推荐
相关产品推荐

