Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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
Php jQuery加载和相对路径_Php_Jquery - Fatal编程技术网

Php jQuery加载和相对路径

Php jQuery加载和相对路径,php,jquery,Php,Jquery,我使用jQuery加载页面内容,如下所示: $("#content").load(path); 其中,内容文件纯粹是这样的内容: <!--page.php--> I am content 因为它使page.php相对于jQuery所在的位置,位于站点的根目录,所以它无法找到images文件夹,除非我给它一个确切的路径,在我的实际站点中,该路径会根据内容文件的位置而不断变化 有没有一种非黑客方式,不需要我在每个我想引用的图像或内容中都放上确切的路径?我知道你说的是非黑客方式,但你可

我使用jQuery加载页面内容,如下所示:

$("#content").load(path);
其中,内容文件纯粹是这样的内容:

<!--page.php-->
I am content
因为它使page.php相对于jQuery所在的位置,位于站点的根目录,所以它无法找到images文件夹,除非我给它一个确切的路径,在我的实际站点中,该路径会根据内容文件的位置而不断变化


有没有一种非黑客方式,不需要我在每个我想引用的图像或内容中都放上确切的路径?

我知道你说的是非黑客方式,但你可以在加载内容后这样做

$("#content").load(path + '/page.php');
然后

$('#content img').each(function(){
    $(this).prop('src', path + '/' + $(this).prop('src'))
})

可以为映像目录的路径设置一个全局变量。 并将该变量用于路径,无论您在何处放置图像

如果路径发生更改,则只需更改一个变量值。

使用attr('src')而不是prop,因为prop可以向相对路径添加基本url

$(this).find('img').each(function () {
    $(this).attr('src', address + $(this).attr('src'))
});

您可以使用提供的文件路径将相对路径重写为绝对路径。这将是一个骇人的解决方案。不过,你真的应该过度思考你的结构。
$('#content img').each(function(){
    $(this).prop('src', path + '/' + $(this).prop('src'))
})
$(this).find('img').each(function () {
    $(this).attr('src', address + $(this).attr('src'))
});