我需要有关如何使用 JavaScript 确定文件类型的帮助。例如在这个 html 中。
<div class="indi-download">
<div class="pull-left">
<h6 class="file-format">%file_display_name%</h6>
</div>
<div class="pull-right">
<a class="download-link" href="%file_url%">Download</a>
</div>
在这行代码上,
<a class="download-link" href="%file_url%">Download</a>
href="%file_url%" 将返回具有以下扩展名的文件类型:例如:.docx 或 .pdf。
像这样的东西。
<a class="download-link" href="http://mysite.com/download/myfiles/sample.pdf">Download</a>
我的问题是,我需要检测使用 javascript 的文件类型。如果是 .pdf,则 class class="file-format" 将变为 class="pdf-file-format" 和 class="doc-file-format" 用于 .doc。这取决于文件扩展名。关于如何做到这一点的任何想法?这样做的最佳技巧是什么?
这是我的示例输出,我只想更改文件的图标,这就是我需要更改类名的原因。
编辑 我做了这样的事情,但如果列表中有多个项目,它就不起作用。它仅适用于第一项。请帮我。
<body onload="myFunction()">
<div class="indi-download">
<div class="pull-left">
<h6 class="pdf-file" id="file-display-id">%file_display_name%</h6>
</div>
<div class="pull-right">
<a class="download-link" id="download_link" href="%file_url%">Download</a>
</div>
</div>
</body>
JavaScript
<head>
<script type="text/javascript">
function myFunction()
{
var url = document.getElementById("download_link").href;
var ext = url.split('.').pop();
if(ext=='pdf'){
var newfileclass = document.getElementById("file-display-id");
newfileclass.className="pdf-file";
}
else if((ext=='docx')){
var newfileclass = document.getElementById("file-display-id");
newfileclass.className="pdf-file doc-file";
}
else if(ext=='zip'){
var newfileclass = document.getElementById("file-display-id");
newfileclass.className="pdf-file zip-file";
}
else{
var newfileclass = document.getElementById("file-display-id");
newfileclass.className="other-file";
}
}
</script>
</head>