Javascript 操作列中的所有字符串

Javascript 操作列中的所有字符串,javascript,jquery,html,Javascript,Jquery,Html,我在表列中有一组URL,如下所示: <tr> <td class="impression_referer">http://www.google.fi/search?hl=en&amp;q=http+header+referer&amp;btnG=Google-search&amp;meta=&amp;aq=f&amp;oq=</td> </tr> <tr> <td class="im

我在表列中有一组URL,如下所示:

<tr>
  <td class="impression_referer">http://www.google.fi/search?hl=en&amp;q=http+header+referer&amp;btnG=Google-search&amp;meta=&amp;aq=f&amp;oq=</td>
</tr>
<tr>
  <td class="impression_referer">http://www.facebook.com</td>
</tr>
var matches = url.match(/^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
var domain = matches && matches[1];
我必须操作字符串的代码如下所示:

<tr>
  <td class="impression_referer">http://www.google.fi/search?hl=en&amp;q=http+header+referer&amp;btnG=Google-search&amp;meta=&amp;aq=f&amp;oq=</td>
</tr>
<tr>
  <td class="impression_referer">http://www.facebook.com</td>
</tr>
var matches = url.match(/^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
var domain = matches && matches[1];
我应该如何在
cleanUpUrls()
函数中编写代码,以便在页面加载时更新所有提到的字符串?

尝试以下方法:

$("td.impression_referer").text(function(i, val) {
    var matches = val.match(/^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
    return matches ? matches[1] : val;
});
演示:


使用
$(“td.impression\u referer”)
将使用
impression\u referer
类选择所有td元素。可以使用获取或设置html元素的文本。如果将回调函数传递给
.text()
,则每个元素将调用一次函数,并将现有文本值作为参数传递,您返回的值将被设置为新文本-您不必手动编写自己的循环代码,因为jQuery会在幕后为您处理这些代码。

您问的是如何使用类标记
impression\u referer
在节点上循环?是的。当最终结果是更新
DOM
时,我不确定如何以最有效的方式进行此操作-什么样的
循环
,什么样的
集合
,什么样的
替换
方法。我知道这是web开发人员的日常任务,但对我来说并不清楚。+1我不知道您可以通过这种方式将回调函数传递给
text()
。太棒了。@DimitarDimitrov-几乎所有获取和设置某个内容的jQuery方法都允许回调,包括
.html()
.prop()
.css()
,等等。非常棒。(溶液,解释,三元操作。)