Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery替换问题_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery替换问题

Javascript jQuery替换问题,javascript,jquery,html,Javascript,Jquery,Html,我有一个到第三方系统的iframe,当调用它时,它会更新数据库记录,然后显示确认消息。我想使用jQuery更改确认的文本,但似乎无法使其正常工作。这是我目前掌握的代码。对第三方系统的调用有效,但替换文本不会出现。有什么建议吗?多谢各位 <script type="text/javascript"> $.urlParam = function(name){ var results = new RegExp('[\\?&]' + name + '=([^&a

我有一个到第三方系统的iframe,当调用它时,它会更新数据库记录,然后显示确认消息。我想使用jQuery更改确认的文本,但似乎无法使其正常工作。这是我目前掌握的代码。对第三方系统的调用有效,但替换文本不会出现。有什么建议吗?多谢各位

<script type="text/javascript">

    $.urlParam = function(name){
      var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
      if (!results) { return ''; }
      return results[1] || '';
    }

    var lidval = $.urlParam('lid');
    var cidval = $.urlParam('cid');
    var cyidval = $.urlParam('cyid');
    //construct url
    var crmurl ='http://somerandomhost.com/Portal/index.php?task=unsusbscribe&lid='+lidval+'&cid='+cidval+'&cyid='+cyidval;

    jQuery(function($){
        $('#crm').attr('src', crmurl);
    });

</script>

<iframe frameborder="0" id="crm" scrolling="no" width="100%" src=""></iframe>

<script type="text/javascript">
    function($){
        $('crm').replaceWith('Replacement text goes here');
    };
</script>

$.urlParam=函数(名称){
var results=newregexp('[\\?&]'+name+'=([^&\\]*)).exec(window.location.href);
如果(!results){返回“”;}
返回结果[1]| |“”;
}
var lidval=$.urlParam('lid');
var cidval=$.urlParam('cid');
var cyidval=$.urlParam('cyid');
//构造url
var crmurl=http://somerandomhost.com/Portal/index.php?task=unsusbscribe&lid=“+lidval+”&cid='+cidval+”&cyid='+cyidval;
jQuery(函数($){
$('crm').attr('src',crmurl);
});
函数($){
$('crm').replaceWith('Replacement text goes here');
};

要更改iframe的内容,可以在下面的代码中尝试

var ifr = $('#crm')[0].contentWindow.document,
   ifbody = $('body',ifr);
ifbody.html('Replacement text goes here');

如果要在irframe中显示字符串,请尝试以下操作:

纯JS:

var doc = document.getElementById('crm').contentDocument;
doc.body.innerHTML = 'Replacement text goes here';
var doc = $('#crm')[0].contentDocument;
$(doc.body).html('Replacement text goes here')
jQuery:

var doc = document.getElementById('crm').contentDocument;
doc.body.innerHTML = 'Replacement text goes here';
var doc = $('#crm')[0].contentDocument;
$(doc.body).html('Replacement text goes here')

我想你错过了#:$(“#crm”).replaceWith('Replacement text goes here');函数的作用是替换对象而不是字符串。。。对于字符串,只需使用javascript替换。$('crm')不是有效的选择器。请将其替换为$('#crm')。谢谢,替换文本在被原始iframe文本替换之前(短暂)显示。你知道我如何“永久”替换文本吗?@Clive van Hilten,对不起,我无法理解你的问题,你能把你的问题放在这里吗?多亏了用户Pointy,我成功地解决了一个问题,包括隐藏iframe-请参阅,谢谢-根据我在下面的回答中的评论,对于此解决方案,替换文本在被原始iframe文本替换之前(短暂)显示。你知道我如何“永久”替换文本吗?