所以我有一个功能,它可以为每个人提供一个功能。#tree ol li'树是从php脚本生成的文件和目录的列表。 我的想法是看' #tree ol li a' anchor元素的值以特定的扩展名结尾,并隐藏它。所以我试图制作这个脚本..但它不起作用.. 任何人都可以帮我找到我错的地方吗?..
function checkstuff(){
i = 0;
$("#tree ol li").each(function(){
i++;
console.log(i);
var temp_val = $(this).children("a").attr("href");
var temp_val2 = temp_val.substr(temp_val.length - 4);
console.log(temp_val2);
var extArr = [".mp3",".wav",".m4a"];
if(temp_val2 == extArr[i]){
console.log(extAttr[i] + "WELL this should have worked..");
$(this).hide();
};
});
答案 0 :(得分:1)
function checkstuff() {
$("#tree ol li").each(function() {
var temp_val = $(this).children("a").attr("href");
var temp_val2 = temp_val.substr(temp_val.length - 4);
console.log(temp_val2);
var extArr = [".mp3", ".wav", ".m4a"];
for (i = 0; i < extArr.length; i++) {
if (temp_val2 == extArr[i]) {
console.log(extArr[i] + "WELL this should have worked..");
$(this).hide();
}
}
});
}
&#13;
这是您的工作脚本
答案 1 :(得分:1)
你的for循环破坏了你的代码。 我们假设您有3个链接
x.wav
y.mp3
z.m4a
您搜索的方式是按照特定的顺序:mp3,wav,然后是m4a。你想要做的是搜索你的结果是否包含在数组中,而不是它是否与索引搜索一致
(即:首先href 必须以.mp3结尾)
为此,您希望这样做:
function checkstuff() {
i = 0;
$("#tree ol li").each(function() {
i++;
console.log(i);
var temp_val = $(this).children("a").attr("href");
var temp_val2 = temp_val.substr(temp_val.length - 4);
console.log(temp_val2);
var extArr = [".mp3", ".wav", ".m4a"];
if (extArr.indexOf(tempval2) > -1) {
console.log(extArr.indexOf(tempval2) + "WELL this should have worked..");
$(this).hide();
};
});
答案 2 :(得分:0)
试试这个:
function checkstuff(){
i = 0;
$("#tree ol li").each(function(){
i++;
console.log(i);
var temp_val = $(this).children("a").attr("href");
var temp_val2 = temp_val.substr(temp_val.length - 4);
console.log(temp_val2);
var extArr = [".mp3",".wav",".m4a"];
if($.inArray(temp_val2 ,extArr[i])>-1){
console.log(extAttr[i] + "WELL this should have worked..");
$(this).hide();
};
});