使用jQuery创建HTML元素时如何正确指定required必填属性
你当前的写法本身不存在功能问题:required属于HTML布尔属性,你传required: true时jQuery会按照XHTML规范序列化属性,生成required="required"的形式,这和HTML5中简写的<input required>在表单校验逻辑上完全等效,不会影响实际使用。
如果需要让开发者工具中显示为无值的required简写属性,有两种常用修改方案:
方案1:创建元素后通过prop()方法设置
jQuery的prop()方法专门用来处理DOM元素的布尔属性,是官方更推荐的布尔属性设置方式:
jQuery('<input />', { 'type':'text', 'text': "Ticket Flow Name", 'name':'setTicketFlowName'+cleanedLastUsedIDNumber, 'id':'setTicketFlowName'+cleanedLastUsedIDNumber, 'class':'select2dropdown' }).prop('required', true) .appendTo('#innercontainer1_TicketFlowName'+cleanedLastUsedIDNumber);
方案2:创建时直接给required传空字符串
在创建元素的配置参数里把required: true改为required: '',jQuery会自动渲染为无值的布尔属性:
jQuery('<input />', { 'type':'text', 'text': "Ticket Flow Name", 'name':'setTicketFlowName'+cleanedLastUsedIDNumber, 'id':'setTicketFlowName'+cleanedLastUsedIDNumber, 'class':'select2dropdown', 'required': '' }).appendTo('#innercontainer1_TicketFlowName'+cleanedLastUsedIDNumber);
内容的提问来源于stack exchange,提问作者Yeo Bryan
相关产品推荐
相关产品推荐

