如何在方括号中获取内容

时间:2013-11-05 11:54:07

标签: javascript jquery

如何在方括号中获得值。 通过从方括号中获取值,我无法得到选项是真还是假。

例如我有ID:

values = content.match(/[^[\]]+(?=])/g);
$(this).closest(".myclass").myFn({
           postMe: values[0],
                    });

value [0]是从ID(#myID)获取的第一个值但它不运行。我把方括号放在:

<div id="myID">[true]</div>

但我直接说:

values = content.match(/[^[\]]+(?=])/g);
$(this).closest(".myclass").myFn({
           postMe: true,
                    });

运行正常。说我解决这个问题。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您可以在此处使用test代替match,如:

var result = content.test(/[^[\]]+(?=])/g);
$(this).closest(".myclass").myFn({
    postMe: result,
});

test 执行搜索正则表达式与指定字符串之间的匹配,然后返回 true false 基于它。

虽然 match 仅在将字符串与正则表达式匹配时才检索匹配项(以数组的形式)。

答案 1 :(得分:1)

你的正则表达式返回一个字符串,而不是布尔值。 value[0] = 'true',不是真的。 您必须先将字符串转换为布尔值(see this question for more) 您的代码可能看起来像这样

values = content.match(/[^[\]]+(?=])/g);
$(this).closest(".myclass").myFn({
    Random : (values[0] === 'true'),
});