我的文件扩展名为:
.doc or .docx
我想用这种方式链接:
document.getElementById("file").innerHTML = "View file sent <a href='../folder/filename" +
(what syntax do I need to add here if I wanted to print which extention file is exist on that folder)
在PHP中我们可以做到这一点
var1 = ".doc";
var2 = ".docx";
var1 ? var1 : var2;
JavaScript中的等效内容是什么?
答案 0 :(得分:3)
JavaScript中存在第三个运算符做:
var var1=".doc";
var var2=".docx";
alert(var1 ? var1 : var2);
它可以像这样(jsfiddle):
alert(var1 ? var1 : var2);
但是,如果var1
未定义,则会收到错误(证明:jsfiddle)。在这种情况下写这将解决问题(证明:jsfiddle):
alert(typeof var1 !== 'undefined' ? var1 : var2);
答案 1 :(得分:3)
在javascript中,var1 || var2
与php的var1 ? var1 : var2
相同。
document.getElementById("file").innerHTML = "View file sent <a href='../folder/filename" + (var1 || var2);
答案 2 :(得分:2)
JavaScript无法访问文件系统。即使它确实如此,它也将是最终用户的本地文件系统。您需要检查文件是否存在于PHP(或您选择使用的任何服务器端语言)中。
答案 3 :(得分:1)
我不确定你在这做什么:
var1=".doc";
var2=".docx";
var1? var1 : var2;
这将始终返回“.doc”,因为无论您使用的是PHP还是Javascript,var1将始终评估为true。
<小时/> 听起来你可能会这样做:
// this function is from http://stackoverflow.com/a/3646923/1188942
function UrlExists(url)
{
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
return http.status!=404;
}
var ext;
if (UrlExists("http://www.mywebsite.com/folder/file.doc"))
ext = ".doc";
else
ext = ".docx";
答案 4 :(得分:0)
这在Javascript中非常相似:
var doc = ".doc";
var docx = ".docx";
var ext = doc ? doc : docx;
alert(ext);