我一直在自学 JS 和 Jquery,但我仍然在努力解决如何有效地使用 $ 循环对象并提取我想要的信息。
我有一个表,它有一个标志图标和一个描述我想放在行尾的标题。但是,有时我必须忽略其他图标。因此,我在 url 中查找“标志”,如果存在,我将第二个到最后一个单元格的 innerHTML 设置为“标题”。
正如您在下面看到的,如果遇到非标志图标,我必须创建一个递减 VAR y 以防止跳到带有“标题”的下一行。
我希望这一行附加“标题”,即位置:
<td>11:44pm</td><td><a href="/stats/visitors?site_id=66351439&date=2011-04-27&country=the+united+states"></a></td><td> <a class="custom" title="Comcast Cable" href="/stats/visitors?site_id=66351439&date=2011-04-27&ip_address=75.70.103.23">Comcast Cable</a></td><td><a href="/stats/visitors-actions?site_id=66351439&date=2011-04-27&session_id=228613269">1 action</a></td><td>10s</td><td width="100%"> </td><td></td>
看起来像这样:
<td>11:44pm</td><td><a href="/stats/visitors?site_id=66351439&date=2011-04-27&country=the+united+states"></a></td><td> <a class="custom" title="Comcast Cable" href="/stats/visitors?site_id=66351439&date=2011-04-27&ip_address=75.70.103.23">Comcast Cable</a></td><td><a href="/stats/visitors-actions?site_id=66351439&date=2011-04-27&session_id=228613269">1 action</a></td><td>10s</td><td width="100%">Aurora, CO, USA</td><td></td>
所以我的问题 - 有什么更好的方法来完成整个过程。这是 jsfiddle 的链接 - http://jsfiddle.net/ukJxH/78/ - 在 3:47,您可以看到一个非标志图标。
var x = $('.tableborder tr img');
y = 1;
for (i = 0; i < x.length; i++) {
var flagg = x[i].src;
var pattn = /flag/gi;
var loca = x[i].title;
if (flagg.match(pattn) == "flag") {
//$('td:nth-child(6)')[i + 14 + y].innerHTML = loca;
$('#main :nth-child(i) td:nth-child(6)')[i].innerHTML = loc } else {
y = y - 1;
}
}