变量等于“左”或“右”的短If / Else语句

时间:2014-06-27 19:15:22

标签: jquery

tpl = '<li class="left">';

我想这样,如果我的var文本包含@Tim marshall:或@Mark Smyth:返回“right”类,但如果不是,则返回“left”的值

我知道我的起点是这样的:

var contains = text. if contains 'this' || 'that' = 'right' : 'left'

tpl = '<li class="' + contains + '">';

但是我不能100%确定如何做到这一点。

3 个答案:

答案 0 :(得分:1)

var regex = new RegExp('/(.*)this|that(.*)/');
var contains = regex.test(text) ? 'right' : 'left'

答案 1 :(得分:1)

您可以使用String.match()来测试字符串,如下所示:

var contains = text.match(/(@Tim marshall:|@Mark Smyth:)/) === null ? "left" : "right";

答案 2 :(得分:0)

使用三元运算符?

条件? true exp:false exp

tp1 = '<li class="' + ( text.indexOf('@Tim marshall') != -1 || text.indexOf('@Mark Smyth') != -1 ? 'left' : 'right' ) + '">';

或者这个更短:

tp1 = '<li class="' + ( ~text.indexOf('@Tim marshall') || ~text.indexOf('@Mark Smyth') ? 'left' : 'right' ) + '">';