动态追加表单时设置按钮文本的技术问题
问题解决:动态生成表单按钮无法设置文本
核心问题
你当前设置按钮文本的代码写法错误:$("#" + replybtn).html = "Reply";
jQuery中html()是方法,不是可直接赋值的属性,这种写法不会生效。
解决方案
提供两种可行的写法,任选其一即可:
方案1:创建按钮时直接设置文本(更简洁)
在动态创建按钮的同时就指定文本内容,不需要后续单独修改:
form.append($("<button>", { class: 'replybtn', id: replybtn }).text("Reply")); // 用text()方法直接设置纯文本
或者直接在HTML字符串中写入文本:
form.append($("<button class='replybtn' id='" + replybtn + "'>Reply</button>"));
方案2:修正原赋值代码
如果坚持用后续修改的方式,把原代码中的赋值语句改成方法调用:
$("#" + replybtn).html("Reply"); // 纯文本场景更推荐用text()方法 $("#" + replybtn).text("Reply");
额外提醒
你当前生成的按钮ID和触发点击的按钮ID完全相同(都是replybtn + btnnum),这会导致DOM中出现重复ID,不符合HTML规范,可能引发其他意外问题。建议把动态生成的按钮ID改成类似reply-submitbtn + btnnum的唯一值。
内容的提问来源于stack exchange,提问作者Darth Mikey D
相关产品推荐
相关产品推荐

