0

我有这样的 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?}
        });
    }
); 
4

1 回答 1

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()我的示例中,您可以调用您的函数。

于 2013-11-02T20:09:33.290 回答