0

Campaign Monitor 有一个脚本可以输出您的活动档案。这是输出:

<article class="node history">
  <ul>
    <li><a href="http://xxx.createsend.com/t/ViewEmailArchive/x/1448CC2F5A9BABD9/C67FD2F38AC4859C/" class="ext">Title</a>, 04 July 2012</li>
  </ul>
</article>

因为我想将日期与标题分开(通过给 a 元素一定的宽度);如何摆脱日期前面的逗号和空格 - 使用 jQuery?

当我尝试下一段代码时,我在 li 元素中的 a 元素消失了(所以没有更多的链接,一切都只是纯文本)。

更新:好的,所以这适用于逗号。如何删除空间以及?

$(".node.history ul li").each(function() {
      $(this).html($(this).html().replace(/[,]/, ""));
});​
4

4 回答 4

1

如其他答案中所述,您需要修复选择器,并使用$().html()而不是$().text().

您的正则表达式也不需要方括号-它们定义了一组要匹配的字符(在您的情况下,当您想要 [我认为] 逗号后跟空格时,一个字符是逗号或空格)。完整解决方案:

<ul class="node history"> 
    <li>
        <a href=http://xxx.createsend.com/t/ViewEmailArchive/x/1448CC2F5A9BABD9/C67FD2F38AC4859C/ class="ext">Title</a>, 04 July 2012
    </li>
</ul>
$("ul.node.history li").each(function() {
    var result = $(this).html().replace(/, /, "");
    $(this).html(result);
    alert(result);
});

http://jsfiddle.net/RichardTowers/H5Hcj/

于 2012-08-21T14:20:20.830 回答
1

这可能会删除字符前的逗号

  $("ul.node.history li").each(function() {
 $(this).text($(this).text().replace(/\,/g, ""));
 });​
于 2012-08-21T14:21:24.470 回答
1

使用$.html()而不是$.text()

于 2012-08-21T14:04:11.160 回答
0

如果我理解您的问题,请尝试将您的 html 字符串简单地更改为:

<article class="node history">
  <ul>
    <li><a href="http://xxx.createsend.com/t/ViewEmailArchive/x/1448CC2F5A9BABD9/C67FD2F38AC4859C/" class="ext">Title</a>&nbsp 04 July 2012</li>
  </ul>
</article>

删除逗号并添加“ ”(空格)

于 2012-08-21T14:22:05.463 回答