繁体   English   中英

如何使用 Javascript 在字符串中包含条件

[英]How to include a condition inside a string using Javascript

我知道对于奇异的结果,我可以做这样的事情:

return "this is a condition test within a string - " +  {0:'⚪',1:'🟡',2:'🔴',3:'&#x1f7e2',8:'',9:''}[event.FlagInd.toString()]

其中012等是变量event.FlagInd的值,结果是带引号的字符串中的值,例如'⚪' ETC

因此,在上面的示例中, event.FlagID中的值为 1,将 1 替换为 - 一个黄色球

我正在尝试做类似的事情,以“打开或关闭”字符串中的实际 HTML。

我当前的尝试返回无效字符串或字符串格式不正确。

 return
        "<strong style=\"font-size:18px;\">" +
        {
            0: '', default: "<a href=\" + "https://www.marinetraffic.com/en/ais/details/ships/imo:" + event.imo +
                "/vessel:" + event.text + "\" target=\"_blank\">" + event.text + "</a>"' }[event.imo.toString()] +
            "</strong>" + ... etc

我想做的是,如果event.IMO = 0的值返回一个空字符串,但返回整个 html 字符串,如果该值不是 0...

"<a href=\"https://www.marinetraffic.com/en/ais/details/ships/imo:" + event.imo + "/vessel:" + event.text + "\" target=\"_blank\">" + event.text + "</a>"

感谢@Ouroborus,我能够做到......按照这个例子:

function myResult(IMO, text){
     return "Answer is " + 
        (IMO.toString() == 0 ? "nothing here" :
      "<strong style=\"font-size:18px;\">" +
      "<a href=\"https://www.marinetraffic.com/en/ais/details/ships/imo:" + IMO +
      "/vessel:" + text + "\" target=\"_blank\">" + text + "</a>" + 
      "</strong>")
}
 
document.write(myResult("0123","myShip"))

将值从“0123”更改为“0”给我“这里什么都没有”,否则它完全是 HTML。 只需确保将 HTML 正确格式化为字符串即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM