0

キャンペーンモニターには、キャンペーンアーカイブを出力するスクリプトがあります。これは出力です:

<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()

于 2012-08-21T14:04:11.160 に答える
1

他の回答で述べたように、セレクターを修正し、の$().html()代わりに使用する必要があります$().text()

正規表現も角かっこを必要としません。これらは、一致する文字のセットを定義します(この場合、コンマの後にスペースが必要な場合は、コンマまたはスペースのいずれかである1つの文字)。完全な解決策:

<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 に答える
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>

カンマを削除し、「&nbsp」(空白)を追加します

于 2012-08-21T14:22:05.463 に答える