现在我的代码将隐藏index.html,但我也想隐藏highlight.html。我已尝试添加+' highlight.html'但它没有用。
喜欢这个if (fsStructure[strPath].subshtmls[i] != 'index.html' + 'highlighted.html'){
if ( fsStructure[strPath].subshtmls.length > 0 ) {
for(var i=0; i < fsStructure[strPath].subshtmls.length; i++) {
if (fsStructure[strPath].subshtmls[i] != 'index.html'){
nextOneSelectorHtml +=
'<option ' +
'class="html-page-option" ' +
'data-html-page-name="' + fsStructure[strPath].subshtmls[i] + '">' +
fsStructure[strPath].subshtmls[i] +
'</option>';
}else{playSwf( strPath+'/index.html');}
}
}
现在我的代码看起来像这样:
但如果我尝试两次使用这一行,那么它将不再加载html,我唯一想要的就是隐藏它们。
在这里我可以隐藏这两个,但我仍然可以从第二个参数中看到highlight.html。
if (fsStructure[strPath].subshtmls[i] != 'highlighted.html' && fsStructure[strPath].subshtmls[i] != 'index.html'){
if ( fsStructure[strPath].subshtmls.length > 0 ) {
for(var i=0; i < fsStructure[strPath].subshtmls.length; i++) {
if (fsStructure[strPath].subshtmls[i] != 'highlighted.html' && fsStructure[strPath].subshtmls[i] != 'index.html'){
nextOneSelectorHtml +=
'<option ' +
'class="html-page-option" ' +
'data-html-page-name="' + fsStructure[strPath].subshtmls[i] + '">' +
fsStructure[strPath].subshtmls[i] +
'</option>';
}else{high( strPath+'/highlighted.html');}
}
}
if ( fsStructure[strPath].subshtmls.length > 0 ) {
for(var i=0; i < fsStructure[strPath].subshtmls.length; i++) {
if (fsStructure[strPath].subshtmls[i] != 'index.html'){
nextOneSelectorHtml +=
'<option ' +
'class="html-page-option" ' +
'data-html-page-name="' + fsStructure[strPath].subshtmls[i] + '">' +
fsStructure[strPath].subshtmls[i] +
'</option>';
}else{playSwf( strPath+'/index.html');}
}
}
答案 0 :(得分:1)
不确定此代码应该如何工作,但对于if
子句中的AND逻辑操作,您应该使用&&
运算符:
if (fsStructure[strPath].subshtmls[i] != 'index.html'
&& fsStructure[strPath].subshtmls[i] != 'highlighted.html') {
...
上述意思是“如果值不是'index.html'并且它不是'highlight.html'”。
为了使它更具可读性 - 因为你要使用文件名两次,你可以引入一个辅助变量:
var fileName = fsStructure[strPath].subshtmls[i];
if (fileName != 'index.html' && fileName != 'highlighted.html') {
...
您尝试使用的+
运算符不起作用的原因是,它会连接两个字符串,然后将它们与值进行比较。所以:
if (fsStructure[strPath].subshtmls[i] != 'index.html' + 'highlighted.html'){
具有与以下相同的效果:
if (fsStructure[strPath].subshtmls[i] != 'index.htmlhighlighted.html'){