1

我对 JSON 和 JavaScript 还很陌生,所以如果我似乎没有做足够的研究,我很抱歉。参考以下链接:

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

我想知道如何修改代码:

我们的下一场演出将于 2012 年 4 月 18 日在美国加利福尼亚州旧金山的菲尔莫尔举行

至:

我们的下一场演出将于 5 月 4 日在旧金山的菲尔莫尔举行

非常感谢你。

4

2 回答 2

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 回答
1

需要一些代码来做 1)在每个循环中,您必须存储日期变量并使用日期对象将每个月的名称分配给月份的编号 2)还要检查使用日期将日期转换为字符串一些字符串函数 3) 至少但不是最后,必须剪切位置直到第一个逗号出现,我使用了 split 函数,因为您可以在进一步的情况下使用字符串的其余部分完整的工作演示 http://jsfiddle.net /西奥多/WrCLW/2/

于 2012-04-28T01:03:51.933 回答