javascript - 操作列中的所有字符串

标签 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="impression_referer">http://www.facebook.com</td>
</tr>

我有一个 .js 文件,在该文件的底部调用我的应用程序的所有函数,其中包括应该操作上述字符串的函数:

$(document).ready(function() {  
  cleanUpUrls();
});

我必须操作字符串的代码如下所示:

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;
});

演示:http://jsfiddle.net/Ht9HC/

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

关于javascript - 操作列中的所有字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20929639/

相关文章:

javascript - 我无法在 IE7+ 中设置事件类

javascript - AJAX不会发送POST数据

javascript - 当 html 有一些未关闭的标签时,Javascript 功能会中断吗?

javascript - 更改 Angular Directive(指令)内的滚动顶部不起作用

javascript - focus() 在 javascript 或 jquery 中不起作用

html - 限制边框宽度以在不使用标签背景颜色的情况下为标签创建空间

javascript - 对 Internet Explorer 8 及以下版本的 SVG 支持

javascript - D3 map - 将两个不相交的 svg 多边形路径合并为一个路径

jQuery animate div 背景颜色渐变?

javascript - 用JavaScript替换html字符串