【发布时间】:2013-04-04 23:14:18
【问题描述】:
我需要查找 td.aws 中的字符串是否出现超过 3 次,如果出现,则将该字符串放入新列表中。
我有一张这样的桌子:
<table width="100%" cellspacing="0" cellpadding="2" border="1" class="aws_data">
<tbody><tr bgcolor="#ECECEC"><th>URL (1,908)</th></tr>
<tr><td class="aws">/images/bullet3.png</td></tr>
<tr><td class="aws">/pdf-signing-tool/ErrorCode.properties</td></tr>
<tr><td class="aws">/pdf-signing-tool/Display.properties</td></tr>
<tr><td class="aws">/evcert.cfm</td></tr>
<tr><td class="aws">/evcert.cfm</td></tr>
<tr><td class="aws">/evcert.cfm</td></tr>
<tr><td class="aws">/evcert.cfm</td></tr>
<tr><td class="aws">/repository/03</td></tr>
<tr><td class="aws">/repository/0</td></tr>
etc
<div id="problems"></div>
到目前为止我有:
$('.aws').each(function(){
var temp = $(this).text();
var count = temp.match('/'+temp+'/g');
if (count.length > 3)
{
thisString = $(this).text();
$('#problems').append(thisString)
}
});
谁能帮忙,目前我刚刚收到 JS 错误“count is null”
【问题讨论】:
-
正则表达式是
/regex/mods形式的文字,而不是字符串。要将字符串用作正则表达式,请通过new RegExp运行它(但请注意,不需要斜杠,修饰符是第二个参数)。 -
在您给出的示例中,为什么预期计数会超过 3?
-
你能举一个更好的例子吗?如果您获取元素的整个文本,则文本只会在元素内部出现一次。您尝试的代码对我来说没有多大意义。您只是在测试字符串是否与自身匹配,应该始终如此,但结果将始终是长度为 1 的数组。
-
对不起,这个例子很糟糕。我已经添加了一个现在出现了 3 次的内容。我试图基本上看看是否有重复。所以“evcert.cfm”现在出现了 3 次
-
@Barney 将其编辑为四次,因为代码仅在 发生 3 次后触发 :)
标签: javascript jquery logic