Javascript 如果";中没有文件,如何隐藏整个跨度;href";方向

Javascript 如果";中没有文件,如何隐藏整个跨度;href";方向,javascript,php,html,hide,Javascript,Php,Html,Hide,我无法隐藏空链接。。有人能帮我吗 <a href="/sunsetplanlama/<?php echo $sonuc['proje_ismi'] ?>/kumas_1.png" data-lightbox="kumas" data-title="<?php echo $sonuc['proje_ismi'] ?>" class="tab active" > K1 </a> 如果“href=“/sunsetplanlama//kumas_

我无法隐藏空链接。。有人能帮我吗

<a href="/sunsetplanlama/<?php echo $sonuc['proje_ismi'] ?>/kumas_1.png"  data-lightbox="kumas" data-title="<?php echo $sonuc['proje_ismi'] ?>" class="tab active"  >
K1
</a>

如果
“href=“/sunsetplanlama//kumas_1.png”
不去任何地方,我想隐藏
“K1”
字母

如何执行此操作?

您可以使用函数检查文件是否存在

if(file_exists("/sunsetplanlama/".$sonuc['proje_ismi']."/kumas_1.png")){
    echo '<a href="/sunsetplanlama/'.$sonuc['proje_ismi'].'/kumas_1.png"  data-lightbox="kumas" data-title="'.$sonuc['proje_ismi'].'" class="tab active" >K1</a>';
}
if(文件存在(“/sunsetplanlama/”$sonuc['proje_ismi']”或“/kumas_1.png”)){
回声';
}
您可以使用函数检查文件是否存在

if(file_exists("/sunsetplanlama/".$sonuc['proje_ismi']."/kumas_1.png")){
    echo '<a href="/sunsetplanlama/'.$sonuc['proje_ismi'].'/kumas_1.png"  data-lightbox="kumas" data-title="'.$sonuc['proje_ismi'].'" class="tab active" >K1</a>';
}
if(文件存在(“/sunsetplanlama/”$sonuc['proje_ismi']”或“/kumas_1.png”)){
回声';
}

需要考虑的几点:

  • 服务器端解决方案是不合适的:您希望测试客户端的资源可用性,而这只能通过客户端作为代理来实现
  • 检查资源可能需要时间,尤其是在客户端呈现html所需的时间。删除可见标记(例如示例中的
    span
    元素)如果检索资源失败,可能会导致渲染的材质短暂显示,而在根本不显示它的情况下再次消失。因此,更好的策略是默认隐藏它,并在确定资源可用性后立即显示
功能就绪(){
让anl_toTest=Array.from(document.queryselectoral('.fa-sign-x'))
;
anl_toTest.forEach((e_span)=>{
让myRequest=新请求(e_span.parentNode.href)
;
//获取API。请参阅[此MDN部分](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)获取详细信息和代码示例
获取(myRequest)
.那么(
功能(响应){
如果(response.ok){//Resource已成功检索,则显示链接
e_span.style.display=“内联”;
}
}
,功能(e){
log(`Failed on'${myRequest.url}':${e.message}.`);
}
);
});
}//准备好了吗
window.addEventListener('load',ready);
.fa-sign-x{
显示:无;
}

需要考虑的几点:

  • 服务器端解决方案是不合适的:您希望测试客户端的资源可用性,而这只能通过客户端作为代理来实现
  • 检查资源可能需要时间,尤其是在客户端呈现html所需的时间。删除可见标记(例如示例中的
    span
    元素)如果检索资源失败,可能会导致渲染的材质短暂显示,而在根本不显示它的情况下再次消失。因此,更好的策略是默认隐藏它,并在确定资源可用性后立即显示
功能就绪(){
让anl_toTest=Array.from(document.queryselectoral('.fa-sign-x'))
;
anl_toTest.forEach((e_span)=>{
让myRequest=新请求(e_span.parentNode.href)
;
//获取API。请参阅[此MDN部分](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)获取详细信息和代码示例
获取(myRequest)
.那么(
功能(响应){
如果(response.ok){//Resource已成功检索,则显示链接
e_span.style.display=“内联”;
}
}
,功能(e){
log(`Failed on'${myRequest.url}':${e.message}.`);
}
);
});
}//准备好了吗
window.addEventListener('load',ready);
.fa-sign-x{
显示:无;
}


一种方法是使用JavaScript和
fetch()获取所有
href
s
,然后查看它们是否失败。不完全是优雅的。另一种方法是让PHP访问完整路径并检查文件是否存在,然后在此基础上将
添加到HTML输出中。结束span标记在哪里?它不是可选的!实际上span已经不起作用了…我只是忘了删除它…现在我更新了一种方法是使用JavaScript和
fetch()获取所有
href
s
,然后查看它们是否失败。不完全是优雅的。另一种方法是让PHP访问完整路径并检查文件是否存在,然后在此基础上将
添加到HTML输出中。结束span标记在哪里?它不是可选的!实际上span已经不起作用了…我只是忘了删除它…现在我更新了