如何使JavaScript函数具有false选项,以确保函数不执行?
以下是代码:
function deleteExtraRows(tableID){
tableID = '#'+tableID;
$(tableID+' tr').each(function(){
if($(tableID+' tr').length>1){
$(this).remove();
}
});
}
我想也能给它一个(false)选项,所以我可以运行deleteExtraRows(false),这不会使函数运行。我知道这看起来有点倒退,但如果我能做到这一点,它就适合我正在研究的项目。
请帮忙!
答案 0 :(得分:7)
这应该可以解决问题:
function deleteExtraRows(tableID){
if(tableID === false)
return;
....
}
使用===
而不是==
非常重要,因为===
也会检查类型。如果tableID为0或空字符串,它将评估为true并返回。
答案 1 :(得分:4)
如果页面上没有ID为false
的元素,那么您应该已经有效。
答案 2 :(得分:1)
这样做
function deleteExtraRows(tableID){
if(!tableID)
return;
tableID = '#'+tableID;
$(tableID+' tr').each(function(){
if($(tableID+' tr').length>1){
$(this).remove();
}
});
}
答案 3 :(得分:0)
只需返回
return停止执行函数..
function deleteExtraRows(tableID, valid ){
if(!valid)
return;
tableID = '#'+tableID;
$(tableID+' tr').each(function(){
if($(tableID+' tr').length>1){
$(this).remove();
}
});
}
答案 4 :(得分:0)
试试这个:
function deleteExtraRows(tableID, doWork){
if (!doWork) return;
tableID = '#'+tableID;
$(tableID+' tr').each(function(){
if($(tableID+' tr').length>1){
$(this).remove();
}
});
}
答案 5 :(得分:0)
它在哪里被叫? 只是做:
if(!!tableID) deleteExtraRows(tableID);
答案 6 :(得分:0)
我建议Greg上面给出答案,但认为你可以通过重写它来优化你的代码:
function deleteExtraRows (tableID) {
if (tableID === false) {
return;
}
$('#' + tableID).find('tr:not(:last)').remove();
}
...除非我在那里误解你的代码。