我需要有关如何使用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%”将返回具有以下扩展名的文件类型:example:.docx或.pdf。
像这样的东西。<a class="download-link" href="http://mysite.com/download/myfiles/sample.pdf">Download</a>
我的问题是,我需要检测使用javascript的文件类型。如果是.pdf,则类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>
答案 0 :(得分:0)
如果您的所有文件都有扩展程序,只需将文件名拆分为extension = filename.split('.');
,然后通过扩展名确定文件类型。
这个怎么样:
function changeClass(fileUrl){
var extension = fileUrl.split('.').pop();
if(extension.toLowerCase() == 'pdf')
{
return "pdf-file-format";
}
}
$(document).ready(function(){
$(a).live().addClass(changeClass( $(a).attr('href') ) );
});
这是一种伪代码,我没有测试过,但我认为你明白了我的想法;)
同样,Lakshmi说:How to get a extension of a file using jquery or javascript?
答案 1 :(得分:0)
课程必须是“pdf文件格式”吗?我直接通过CSS检测我自己网站上的.pdf文件链接,比如
a[href$="pdf"] { /* css styles for pdf links */ }
嗯?
答案 2 :(得分:0)
为标记提供ID
<a class="download-link" id="download_link" href="http://mysite.com/download/myfiles/sample.pdf">Download</a>
并使用此javascript函数更改类
var change_class_a = function(url) {
var m = url.match(/(.*)[\/\\]([^\/\\]+)\.(\w+)$/);
if(m[3] == 'pdf')
document.getElementById("download_link").className = "YOUR_CLASS";
};
var url = document.getElementById("download_link").href;
change_class_a(url);