5

HTML:

<li>Tue, 15th May 2012 10:11</li>
<li>Tue, 15th May 2012 10:12</li>
<li>Tue, 15th May 2012 10:13</li>
<li>Tue, 15th May 2012 10:14</li>
<li>Tue, 15th May 2012 10:15</li>
<li>Tue, 16th May 2012 21:08</li>
<li>Tue, 16th May 2012 21:07</li>
<li>Tue, 16th May 2012 21:06</li>
<code></code>

jQuery:

$("li").each(function () {
    words = $(this).text().split(' ');
    xxx = words[1]+" "+words[2]+" "+words[3]+",";
    $("code").append(xxx); 
});

私は今このステップに来ていますが、重複する日付を確認して一意の日付を追加する方法がわかりません

デモ: http: //jsfiddle.net/4kvUy/

4

3 に答える 3

2

1つのオプションは、:containsセレクターを使用することです。

$("li").each(function() {
    words = $(this).text().split(' ');
    xxx = words[1] + " " + words[2] + " " + words[3] + ",";
    $("code:not(:contains(" + xxx + "))").append(xxx);
});​

デモ:http: //jsfiddle.net/4kvUy/2/

于 2012-05-15T11:41:37.700 に答える
2

このようにしてください:-

if ($("code:contains('"+xxx+"')").length == 0)
   $("code").append(xxx);

編集:

カンマを処理するには、次の方法を試してください:-

if ($("code:contains('"+xxx+"')").length == 0){
    if ($("code").text() == '')
        $("code").append(xxx);
    else
        $("code").append(","+xxx);
}

EDIT2:

このタイプの出力を処理するには、次の方法を試してください。-

$("li").each(function () {
    words = $(this).text().split(' ');
    xxx = words[1]+" "+words[2]+" "+words[3];
    if ($("code:contains('"+xxx+"')").length == 0){     
        if ($("code").text() == '')         
            $("code").append('["'+xxx);     
        else         
            $("code").append('","'+xxx); 
    }
});
$("code").append('"]');

出力:

["15th May 2012","16th May 2012"]
于 2012-05-15T11:46:18.087 に答える
1

jsfiddleでこれを試してみてください、それはうまくいくようです。

于 2012-05-15T11:45:40.550 に答える