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