我有这样的HTML:
<div id="MyArea">
<div class="data-content">The content is not satisfied </div>
<div class="data-content">[value] </div>
<div class="data-content">[valueme] </div>
</div>
现在,我希望在每个类(Function
)中运行data-content
括号。其他类(没有括号),保持默认值,不要改变任何东西。我使用下面的脚本,但这是错误的。
$("#MyArea .data-content").each(function() {
var content = $(this).html(),
values = content.match(/[^[\]]+(?=])/g);
if (value !== "") {
$(this).closest(".data-content").myFunc({
//Run myFunc in this .data-content if values has brackets.
}
else {
//return the default value and do not change the content inside of that class if it has no brackets. How can I do that?}
});
}
);
答案 0 :(得分:2)
鉴于众多语法问题,我不确定你要在这里做什么,但你可以在条件中使用test
来查看正则表达式是否与任何内容匹配。此外,return
循环中的每次迭代都不能$.each
,因此这是多余的。
试试这个:
$("#MyArea .data-content").each(function () {
var content = $(this).html();
if (/[^[\]]+(?=])/g.test(content)) {
$(this).closest(".data-content").css('color', '#C00');
};
});
在我的示例中代替.css()
,您可以调用您的函数。