【问题标题】:Javascript results in URL?Javascript导致URL?
【发布时间】:2013-07-15 01:46:43
【问题描述】:

我正在使用以下 javascript 代码以 mmddyy 格式输出日期。有没有办法将结果添加到 URL 链接,以便它吐出:

<a href="http://test.com/mmddyy.html">test </a>

我使用的JS代码是

<script type="text/javascript">
    function formatDate(d) {
        var month = d.getMonth();
        var day = d.getDate();
        var year = d.getFullYear();

        year = year.toString().substr(2, 2);
        month = month + 1;
        month = month + "";

        if (month.length == 1) {
            month = "0" + month;
        }
        day = day + "";
        if (day.length == 1) {
            day = "0" + day;
        }
        return month + day + year;
    }
    var d = new Date();
    document.write(formatDate(d));
</script>

感谢您的帮助。

【问题讨论】:

    标签: javascript url hyperlink


    【解决方案1】:

    您可以将字符串与链接 URL 连接起来:

    var link = "http://www.test.com/"+formatDate(d)+".html";
    

    然后相应地更改&lt;a&gt; 标签:

    document.getElementById('link_id').href = link;
    

    【讨论】:

      【解决方案2】:

      有多种方法可以做到这一点。

      首先,您应该避免使用document.write。相反,最简单的方法是创建一个要写入的 div,如下所示:

      <body>
        <div id="myDiv"></div>
      </body>
      

      然后你可以像这样添加一个链接

      document.getElementById('myDiv').innerHTML = '<a href="http://test.com/'+formatDate(d)+'.html">test</a>';
      

      如果已有链接,例如&lt;a href="#" id="myLink"&gt;test&lt;/a&gt;,可以这样设置url

      document.getElementById('myLink').href = 'http://test.com/'+formatDate(d)+'.html';
      

      【讨论】:

        【解决方案3】:

        创建一个HTMLAnchorElement

        function pad2(x) {                        // pad/truncate number to 2 digits
            return ('00' + x).slice(-2);
        }
        
        function formatDate(d) {                  // format your date output
            return pad2(d.getMonth() + 1)
                 + pad2(d.getDate())
                 + pad2(d.getFullYear());
        }
        
        function generateLink(url, text) {        // create an <a>
            var a = document.createElement('a');
            a.setAttribute('href', url);
            a.appendChild(document.createTextNode(text));
            return a;
        }
        
        var a = generateLink(
            'http://test.com/' + formatDate(new Date) + '.html',
            'test'
        ); // HTMLElement <a href="http://test.com/071613.html">test</a>
        

        现在您可以根据需要附加此节点,例如如果你想转换回 String.

        new XMLSerializer().serializeToString(a);
        

        或附加到&lt;body&gt;

        document.body.appendChild(a);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-08-02
          • 2020-09-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多