1

私はJSONとJavaScriptにかなり慣れていないので、十分な調査を行っていないように思われる場合はお詫び申し上げます。次のリンクを参照してください。

http://jsbin.com/imekip/edit#javascript,live

コードを修正する方法を知りたいのですが:

次のギグは、2012年4月18日に米国サンフランシスコのフィルモアで行われます。

に:

次のギグは5月4日にサンフランシスコのTheFillmoreで行われます。

よろしくお願いします。

4

2 に答える 2

1

1)各ループでdate変数を格納し、dateオブジェクトを使用して各月の名前を月の番号に割り当てる必要があります。2)また、次を使用して日を文字列に変換することを確認します。いくつかの文字列関数3)少なくとも最後ではありませんが、最初のコンマが表示されるまで場所を切り取る必要があります。他の状況で文字列の残りの部分を使用できるため、分割関数を使用しました。完全に機能するデモはこちら http://jsfiddle.net / theodore / WrCLW / 2 /

于 2012-04-28T01:03:51.933 に答える
1

HTML

<ul id="ulId">
    <li>Our next gig is at 
        <a href='#'>
            The Fillmore, San Francisco, CA, US on 2012-05-18
        </a>
    </li>
    <li>Our next gig is at 
        <a href='#'>
            The Fillmore, San Francisco, CA, US on 2012-10-15
        </a>
    </li>
</ul>

</ p>

JS

var months=['January','February','March','April','May', 'June', 'July', 'August','September','October','November','December'];
var rgx = /(\d{4})-(\d{2})-(\d{2})/;
function changeDate(ul)
{
    for(i=0;i<ul.childNodes.length;i++)
    {
        if(ul.childNodes[i].tagName=="LI")
        {
            var link=ul.childNodes[i].getElementsByTagName('a')[0];
            var txt=link.innerHTML;
            var r = txt.match(rgx);
            var dateArr=r[0].split('-');
            var m= parseInt(dateArr[1])-1;
            var d=dateArr[2];
            var dt= d+'th '+months[m];
            var final=txt.replace(r[0] ,dt);  
            link.innerHTML=final;
        }
    }
}
changeDate('ulId'); // call the function and pass the ul id as paremeter.

デモ。

于 2012-04-28T01:23:49.990 に答える