jQuery - 从其他域加载div并替换其中的元素

时间:2018-04-29 00:36:50

标签: jquery html

我目前的情况是:我需要.load来自另一个域的div,并替换其中的多个元素(URL),其中一些具有相同的类。这是一个例子:

<img class="InfoBarSmallElement" src="http://example.com/img.png" />
<img class="InfoBarSmallElement" src="http://example.com/img2.png" />

分为:

<img class="InfoBarSmallElement" src="mysite.com/img.png" />
<img class="InfoBarSmallElement" src="mysite.com/img2.png" />

这是我用来加载div的脚本:

<script>
    $(function(){
        var contentURI = 'http://www.example.com/ .Div';
        $('.Result').load('../system/getp.php?url=' + contentURI);
    });
</script>

getp.php

<?php echo file_get_contents($_GET['url']); ?>

如果有人能帮助我,我真的很感激。提前致谢。

1 个答案:

答案 0 :(得分:1)

可以在php中完成: file getp.php:

   echo str_replace(array('http://example.com'),array('mysite.com'), file_get_contents($_GET['url']) ); 

可以使用JavaScript(JQuery):

$(function(){
    var contentURI = 'http://www.example.com/ .Div';
    $('.Result').load('../system/getp.php?url=' + contentURI, function() {
         $('.Result').html(($('.Result').html()).replace(new RegExp('http://example.com','g'), 'mysite.com');
    });
});

test为jquery替换all:

var test_html=$('.Result').html();
console.log('orig=>'+test_html);
test_html=test_html.replace(new RegExp('http://example.com','g'), 'mysite.com');
$('.Result').html(test_html);
console.log('correct=>'+test_html);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<div class="Result"><a href="http://example.com/test.html">http://example.com/test.html</a><br><a href="http://example.com/test2.html">http://example.com/test2.html</a></div>