替换<标签>,包含的表单控件除外
Replace content of a <label>, except the contained form control
我正在与Janrain的Capture小部件系统集成,客户希望自定义Janrain代码提供的许多标准表单标签。Janrain有可能进行这些定制,但这需要经过他们的开发队列(这将花费太长时间)。
他们的建议是捕获一个javascript事件(onCaptureRenderComplete),并对代码进行必要的更改(这感觉很粗糙,但是官方建议的选项)。
我需要更改与复选框关联的标签的文本,其中复选框本身嵌套在标签中。对于其他标签,我们要么简单地重写了innerHTML,要么只使用字符串替换来更改几个单词。我正在处理的标签看起来像:
<label for="capture_traditionalRegistration_traditionalRegistration_privacyPolicy">
<input type="checkbox" name="traditionalRegistration_privacyPolicy" class="capture_traditionalRegistration_privacyPolicy capture_input_checkbox" value="true" data-capturefield="traditionalRegistration_privacyPolicy" id="capture_traditionalRegistration_traditionalRegistration_privacyPolicy">
I understand that by signing up or using the site, I agree to the
<a target="_blank" href="/about-freesat/privacy-policy">Privacy Policy</a> and
<a target="_blank" href="/about-freesat/terms">Terms of Service</a>
</label>
在这种情况下,将复选框后面的整个HTML块硬编码为字符串以便替换它是非常脆弱的。我想做的只是全面替换所有内容,但我不能替换复选框,因为它附带了事件处理程序。
我有jQuery可用。关于如何删除或替换复选框后的零件,有什么建议吗?
您可以执行以下操作:首先分离输入,然后清空标签并再次添加输入。
var inp = $('label').find('input').detach();
$('label').empty().append(inp);
相关文章:
- 如何通过ajax将值从表单控件传递到node.js
- 在带有 bootbox 的自定义对话框中添加选项以选择表单控件.js在 ASP.NET MVC 中
- 如何根据所选下拉列表中的值启用和禁用表单控件
- 如何在cakepp中使用javascript验证我的html表单控件
- 替换<标签>,包含的表单控件除外
- 当表单控件选项具有多个参数时,如何在组合框中填充所选项目
- 捕获事件或异常“无效表单控件”
- 关闭已禁用表单控件的验证 角度
- 使用 jQuery 在 MVC 中隐藏或显示基于 DDL 选择的表单控件
- 使用 jquery 跟踪 DIV 标记下的 HTML 表单控件中的数据更改
- 表单控件 jquery 和 ajax
- 使用自动填充表单控件(自动完成属性),加快表单填充速度
- 将angularjs配置为基于表达式在表单控件上设置ng-invalid
- 为什么在ajax表单中出现名为javascript的无效表单控件错误
- 我怎样才能使表单控件在“write back”中具有响应性?的方式
- Javascript/ HTML传输表单控件提交
- Select2向表单控件添加title属性
- Angular 2 -自定义表单控件-禁用
- JQuery serialize()方法不忽略一些表单控件
- 在回发前对表单控件进行javascript验证的示例