1

如何获取价值在方括号中是正确的。我无法通过从方括号中获取值来获取选项是真还是假。

例如我有 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,
                    });

它运行正常。说我解决这个问题的方法。感谢您的帮助。

4

2 回答 2

1

您可以使用test,而不是在match这里像:

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

Astest执行搜索正则表达式和指定字符串之间的匹配,然后根据它返回truefalse 。

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

于 2013-11-05T11:57:06.603 回答
1

您的正则表达式返回一个字符串,而不是布尔值。value[0]= 'true',不正确。您必须先将字符串转换为布尔值(有关更多信息,请参阅此问题)。
您的代码可能看起来像这样

values = content.match(/[^[\]]+(?=])/g);
$(this).closest(".myclass").myFn({
    Random : (values[0] === 'true'),
});
于 2013-11-05T12:02:38.557 回答