Javascript 替换字符串的所有实例";表格「;在gravity表单管理中使用jQuery
我被要求将所有单词“form”的实例都改为“block”,作为我们正在开发的WordPress应用程序的一部分。更换需要在整个重力表单管理部分进行。因为gravity表单没有一种简单的方法可以在不编辑插件的情况下更改它,所以我选择使用jQuery替换dom加载上的所有实例 然而,我面临的问题是Gravity表单动态地将内联javascript放入html主体中。内联/w显示的页面内容。所以当我运行时,比如说:Javascript 替换字符串的所有实例";表格「;在gravity表单管理中使用jQuery,javascript,jquery,html,wordpress,Javascript,Jquery,Html,Wordpress,我被要求将所有单词“form”的实例都改为“block”,作为我们正在开发的WordPress应用程序的一部分。更换需要在整个重力表单管理部分进行。因为gravity表单没有一种简单的方法可以在不编辑插件的情况下更改它,所以我选择使用jQuery替换dom加载上的所有实例 然而,我面临的问题是Gravity表单动态地将内联javascript放入html主体中。内联/w显示的页面内容。所以当我运行时,比如说: jQuery("#wpbody-content").html(jQuery("#wpb
jQuery("#wpbody-content").html(jQuery("#wpbody-content").html().replace(/Form/gi, 'Block'));
它最终取代了那些内联javascript插入(例如,用于使用ajax创建新表单)中“表单”一词的重要实例
我想知道是否有人知道我该如何替换实际上是html而不是任何内联javascript一部分的单词“form”的所有实例
我正试图得到这个:
<div class="#wpbody-content">
<div class="setting-row">
<label for="new_form_description">Form Description</label><br>
<textarea class="regular-text" id="new_form_description" tabindex="9001"></textarea>
</div>
<script type="text/javascript">
jQuery(document).ready(function($) {
loadNewFormModal();
function loadNewFormModal() {
resetNewFormModal();
tb_show('Create a New Form', '#TB_inline?width=375&inlineId=gf_new_form_modal');
jQuery('#new_form_title').focus();
return false;
}
}
</script>
</div>
表格说明
jQuery(文档).ready(函数($){
loadNewFormModal();
函数loadNewFormModal(){
resetNewFormModal();
tb_show('创建新表单','#tb_inline?width=375&;inlineId=gf_New_Form_model');
jQuery('new#form_title').focus();
返回false;
}
}
为此:
<div class="#wpbody-content">
<div class="setting-row">
<label for="new_form_description">Module Description</label><br>
<textarea class="regular-text" id="new_form_description" tabindex="9001"></textarea>
</div>
<script type="text/javascript">
jQuery(document).ready(function($) {
loadNewFormModal();
function loadNewFormModal() {
resetNewFormModal();
tb_show('Create a New Form', '#TB_inline?width=375&inlineId=gf_new_form_modal');
jQuery('#new_form_title').focus();
return false;
}
}
</script>
</div>
模块说明
jQuery(文档).ready(函数($){
loadNewFormModal();
函数loadNewFormModal(){
resetNewFormModal();
tb_show('创建新表单','#tb_inline?width=375&;inlineId=gf_New_Form_model');
jQuery('new#form_title').focus();
返回false;
}
}
而不是这个:
<div class="#wpbody-content">
<div class="setting-row">
<label for="new_Block_description">Block Description</label><br>
<textarea class="regular-text" id="new_Block_description" tabindex="9001"></textarea>
</div>
<script type="text/javascript">
jQuery(document).ready(function($) {
loadNewBlockModal();
function loadNewBlockModal() {
resetNewBlockModal();
tb_show('Create a New Block', '#TB_inline?width=375&inlineId=gf_new_Block_modal');
jQuery('#new_Block_title').focus();
return false;
}
}
</script>
</div>
块描述
jQuery(文档).ready(函数($){
loadNewBlockModal();
函数loadNewBlockModal(){
resetNewBlockModal();
tb_show('创建新块','#tb_inline?width=375&;inlineId=gf_New_Block_model');
jQuery(“#新的#Block_title”).focus();
返回false;
}
}
您可以执行以下操作:
- 搜索所需单词(表格)的所有内容
- 检查单词parent是否不是脚本
- 用替换的单词修改该标记的内容
$(函数(){
$('*:包含(“形式”))。每个(函数(){
if($(this).children().length<1){
if($(this.prop(“标记名”)!=“脚本”){
//$(this.html().replace(/Form/gi,'Block');
$(this.html($(this.html().replace(/Form/gi,“Block”));
}
}
});
});
你好,山姆,谢谢!我想说的是,我的8个示例已经更新。我面临的问题是,脚本标记已经在我选择搜索的标记中。我仍然认为这是朝着正确方向迈出的一步,但前提是有一些方法可以过滤掉,而不必在替换时实际删除脚本标记检查一下内容,有什么想法?
$(function(){
$('*:contains("Form")').each(function(){
if($(this).children().length < 1){
if($(this).prop("tagName") != "SCRIPT"){
//$(this).html().replace(/Form/gi, 'Block');
$(this).html($(this).html().replace(/Form/gi,"Block" ));
}
}
});
});