gpt4 book ai didi

javascript - 带条件运算符的内联 If-Else 的双假

转载 作者:行者123 更新时间:2023-11-30 09:12:38 25 4
gpt4 key购买 nike

如果 td 没有值,我试图隐藏一个输入字段。

我知道我们可以有这样的条件:

${condition ? true : false}

但是我怎样才能拥有这样的内联运算符呢?

${condition ? true : false && false}

示例:

${JsonObject ? JsonObject.Description : " " && $('#textbox').removeattr("style").hide()}

html 类似于:

`<td>
${JsonObject ? JsonObject.Description : " " && $('#textbox').removeattr("style").hide()}
</td>
`<div><input id="textbox"></div>

最佳答案

如果我没理解错的话,您希望真实的结果是描述,虚假的结果是 "" and 产生副作用从 #textbox 中删除样式属性并将其隐藏。

我强烈建议不要这样做。像这样的副作用极难调试和维护。

但如果你真的想,先做副作用:

`<td>
${JsonObject ? JsonObject.Description : $('#textbox').removeattr("style").hide() && " "}
</td>
`<div><input id="textbox"></div>

这是有效的,因为 hide 返回 jQuery 对象,它是真实的,所以 (object) && "" 表达式导致 "" .或者作为 James Long指出,您可以改用逗号运算符,然后 hide 的返回值就没有关系了:${JsonObject ? JsonObject.Description : ($('#textbox').removeattr("style").hide(), "")}(你实际上不需要那些 (),但这已经够困惑了,没有它们就更困惑了,所以……)。

但同样,我不会。相反,我会这样做:

`<td>
${JsonObject ? JsonObject.Description : " "}
</td>
`<div><input id="textbox"></div>

...然后就在这个模板文字之前或之后,有

if (!JsonObject) {
$('#textbox').removeattr("style").hide();
}

关于javascript - 带条件运算符的内联 If-Else 的双假,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57409889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com