我正在使用简写if语句来检查内容中是否包含斜体标记。
remove = (content.indexOf('<i>') === true) ? true : false;
alert("ORIGINAL CONTENT: " + content + "\nDoes content contain <i>? " + remove);
当弹出该警告时,它会显示以下内容: Alert box shows < i > in string, but returns false
我做错了什么?
答案 0 :(得分:5)
indexOf
返回另一个字符串中字符串的位置,如果找不到则返回-1。它与PHP中的strpos
不同。因此,您必须检查content.indexOf('<i>') !== -1
。
在你的情况下,我只是定义
remove = content.indexOf('<i>') !== -1;
这里不需要三元运算符(我以前知道这个名称),因为比较已经给出了你需要的布尔值。
答案 1 :(得分:0)
您是否考虑过使用Regex?
remove = /<i>/.test(content);
感谢RobG的纠正。
答案 2 :(得分:0)
其他答案主要涉及,但在:
> content.indexOf('<i>') === true
请注意String.prototype.intexOf返回一个数字,并将其与布尔值进行比较。由于它们是不同的类型,因此结果将始终为false。如果使用了等号运算符“==”,如果左手表达式返回除零(0)以外的任何值,则返回true。
顺便提一下,斜体文本可以使用除I以外的元素来实现,例如通过CSS应用合适样式的span元素。