2017-09-05 110 views
-2

的Javascript的if-else语句我有一个JavaScript函数隐藏行,这取决于哪个按钮被点击它会显示是否匹配的表行上嵌套函数

$("#example").on("click", function() 
{ 
    var $rowsNo = $("#table tbody tr").hide().filter(function() { 
    return $.trim($(this).find("td").eq(0).text()) === "4" 
}).show(); 
}); 

这工作得很好含量根据。但我想添加一个if声明,称如果它等于4显示的内容,如果它不等于4,显示内容为5.我已经试过

$("#example").on("click", function() 
{ 

    if ($(this).find("td").eq(0).text()) === "4"){ 
    var $rowsNo = $("#table tbody tr").hide().filter(function() { 
    return $.trim($(this).find("td").eq(0).text()) === "4" 
}).show(); 
} 
else{ 
    var $rowsNo = $("#table tbody tr").hide().filter(function() { 
    return $.trim($(this).find("td").eq(0).text()) === "5" 
}).show(); 

} 
}); 

我得到的

Uncaught SyntaxError: Unexpected token === 
错误
+1

我缩进了你的代码,并找到了一个额外的')'。它应该现在工作 –

+1

@AndreiCACIO张贴你的发现作为答案...不要修改他的问题。 – brso05

+1

@AndreiCACIO,如果您发现语法错误,请勿将其添加到原始文章中。要么通知作者,要么将其写为答案,如果它回答 – smac89

回答

0

if语句中有一个额外的')'。此版本应该工作:

$("#example").on("click", function() { 
    if (
    $(this) 
     .find("td") 
     .eq(0) 
     .text() === "4" 
) { 
    var $rowsNo = $("#table tbody tr") 
     .hide() 
     .filter(function() { 
     return (
      $.trim(
      $(this) 
       .find("td") 
       .eq(0) 
       .text() 
     ) === "4" 
     ); 
     }) 
     .show(); 
    } else { 
    var $rowsNo = $("#table tbody tr") 
     .hide() 
     .filter(function() { 
     return (
      $.trim(
      $(this) 
       .find("td") 
       .eq(0) 
       .text() 
     ) === "5" 
     ); 
     }) 
     .show(); 
    } 
});