Javascript 如果条件不起作用,为什么会出现这种情况

Javascript 如果条件不起作用,为什么会出现这种情况,javascript,jquery,Javascript,Jquery,我使用了这样的if条件 if(!$([tr[data id='“+currenttrid+”]>td:first child”).css(“display”,none)){ $(“tr[data id='”+parrentid+“]>td:第一个子按钮”).addClass(“折叠”) }您需要获取display属性,但您正在if条件内设置它 使用.css(“显示”)而不是.css(“显示”,无) 您需要获取display属性,但您正在if条件中设置它 使用.css(“显示”)而不是.css(

我使用了这样的if条件

if(!$([tr[data id='“+currenttrid+”]>td:first child”).css(“display”,none)){
$(“tr[data id='”+parrentid+“]>td:第一个子按钮”).addClass(“折叠”)

}
您需要获取display属性,但您正在if条件内设置它

使用
.css(“显示”)
而不是
.css(“显示”,无)


您需要获取display属性,但您正在if条件中设置它

使用
.css(“显示”)
而不是
.css(“显示”,无)


基于布尔值执行
if
块。因此,conditnal语句被计算为
true
false
,并相应地执行

你可以查一下

if (!$("tr[data-id='" + currenttrid + "'] > td:first-child").css("display")==="none")) {  // will check the condition
  $("tr[data-id='" + parrentid + "'] > td:first-child button").addClass("collapse")
}
或者,您可以使用like


基于布尔值执行
if
块。因此,conditnal语句被计算为
true
false
,并相应地执行

你可以查一下

if (!$("tr[data-id='" + currenttrid + "'] > td:first-child").css("display")==="none")) {  // will check the condition
  $("tr[data-id='" + parrentid + "'] > td:first-child button").addClass("collapse")
}
或者,您可以使用like


我想你想要的是:

if (!$("tr[data-id='" + currenttrid + "'] > td:first-child").is(":visible")) {
    $("tr[data-id='" + parrentid + "'] > td:first-child button").addClass("collapse")
}

要检查元素是否显示,请使用.is(“:visible”)

我想您需要:

if (!$("tr[data-id='" + currenttrid + "'] > td:first-child").is(":visible")) {
    $("tr[data-id='" + parrentid + "'] > td:first-child button").addClass("collapse")
}

要检查元素是否显示,请使用.is(“:visible”)

请在代码段中显示您的完整代码,因为当前您甚至没有包含
jquery.min.js
,因此我们无法检查
如果(!$(“[tr[data id=”+currenttrid+“]>td:first child:hidden”){
您使用的是
而不是
“无”
(它应该是一个字符串)。这也只是将显示设置为“无”,而不是实际检查任何内容。请在代码段中显示您的完整代码,因为当前您甚至没有包含
jquery.min.js
,因此我们无法检查
if(!$(!([tr[data id='“+currenttrid+”]>td:first child:hidden”)){
您使用的是
none
而不是
“none”
(应该是字符串)。这也只是将显示设置为none,而不是实际检查任何内容。