2

ページ上で発生する可能性のあるすべての日付から「日」を削除しようとしています。

これは、jQueryに「2012年8月22日」の形式のすべての日付を「2012年8月」に変換させるためです。

私はこのコードでこれを行うことができました:jqueryを使用してワイルドカードテキストを置き換える

詳細については、私のフィドルを参照してください:http: //jsfiddle.net/CfZjF/223/

しかし、私が何を試したかに関係なく、このテーブルレイアウト内では機能していません。

もう1つの問題は、曜日を具体的に指定することです(おそらくワイルドカードを使用しますか?)-つまり、スラッシュの間の2つの数字:/ xx /ですが、詳細についてはフィドルを参照してください。

どうすればこれを実現できるかについてのアイデアはありますか?

4

3 に答える 3

2

試す

str.replace(/\/\d+\//g, "/");

/(\d{2})\/\d{2}\/(\d{4})/gまたは、何かに置き換えることでより具体的に"$1/$2"…</ p>

更新されたフィドル

于 2012-08-22T17:37:28.223 に答える
1

行全体のHTMLをグローバルに操作するのではなく、テーブルのセルを個別にトラバースする必要があると思います。

これは、データがjsFiddleのようにフォーマットされていることを前提としています。

更新されたフィドル:http://jsfiddle.net/GKrCS/

$('tr').each(function(){
       $('td',this).not(':first').text(
           function(){
               return $(this).text().replace(/\/[0-9]+\//,'/');
           });
});
于 2012-08-22T17:47:16.440 に答える
0

すべての日付はxx/xx / xxxxの形式であるため、単純なsplit()を使用すると、常に次の値の配列に分割されます。

xx,xx,xxxx

だから、このようなもの:

var totalDate = $("whateverYourDateSelectorMightBe");
var daysInMiddle = totalDate.val().ToString().split(",")[1];

だからあなたはすることができます:

totalDate.val(totalDate.val().ToString().replace(daysInMiddle + "/",""));

これを行うには、はるかにクリーンな方法があることに注意してください。私がやろうとしていたことをよりよく説明していると思うので、私はちょうどこのようにそれをしました。

于 2012-08-22T17:48:07.350 に答える