首页 > 解决方案 > jQuery - 从其他域加载 div 并替换其中的元素

问题描述

我目前的情况:我需要.loaddiv另一个域中替换其中的多个元素(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']); ?>

如果有人可以帮助我,我将不胜感激。提前致谢。

标签: jqueryhtml

解决方案


可以在 php 中完成:文件 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');
    });
});

测试全部替换为 jquery:

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>


推荐阅读