繁体   English   中英

如何插入一个<script> html attribute as part of url of a href html attribute

[英]How to insert a <script> html attribute as part of url of a href html attribute

我有以下代码:

<!DOCTYPE html>
<html>
 <body>
  <table border="1">
   <tr>
    <td >row 2, cell 1</td>
    <td style="white-space:nowrap;"><a href="http://aa.bb.cc/<script type="text/javascript"><!--
     var date = new Date();
     var d  = date.getDate();
     var day = (d < 10) ? '0' + d : d;
     var m = date.getMonth() + 1;
     var month = (m < 10) ? '0' + m : m;
     var yy = date.getYear();
     var year = (yy < 1000) ? yy + 1900 : yy;
     document.write( year + month + day);
     //--></script>>  Click to check</a></td>
   </tr>
  </table> 
 </body>
</html>

我想要的是当我按下 :click 时,浏览器应该转到以下链接: http : //aa.bb.cc/yyyymmdd

yymmmdd 是通过Javascript获取的,显示当前的年月日。

Javasript 有效,但我无法将其结果添加到 a href 属性的 URL 中。

为什么不把你的 javascript 和你的 html 分开,把它放到 head 元素中。 然后一旦文档加载onload调用该函数将其附加到您的链接 href。

<!DOCTYPE html>
<html>
<head>
<script  type="text/javascript">
function appendDateToURL(){
  var date = new Date();
  var d  = date.getDate();
  var day = (d < 10) ? '0' + d : d;
  var m = date.getMonth() + 1;
  var month = (m < 10) ? '0' + m : m;
  var yy = date.getYear();
  var year = (yy < 1000) ? yy + 1900 : yy;
  var myLink = document.getElementById("myLink");
  myLink.setAttribute("href",(myLink.href+ year + month + day));
}
</script>
</head>
<body onload="appendDateToURL();">
<table border="1">
<tr>
<td >row 2, cell 1</td>
<td style="white-space:nowrap;"><a id="myLink" href="http://aa.bb.cc/">  Click to check</a></td>
</tr>
</table> 
</body>

我刚刚添加了一个jsfiddle。 拿走你的代码,只添加了几行额外的行。

<a class="generated-link" href="">Link me!</a>

<script>
var date = new Date();
var d  = date.getDate();
var day = (d < 10) ? '0' + d : d;
var m = date.getMonth() + 1;
var month = (m < 10) ? '0' + m : m;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;

var link = document.querySelector('.generated-link');
link.href = year + month + day;
</script>

http://jsfiddle.net/XvM5N/

这是通过 Javascript 创建a元素然后将其附加到页面的示例。 以后不要尝试将script标签放在另一个标签的中间。 显然,您不想在示例中将其附加到body中,但我会将附加内容留给您。

var anchor = document.createElement("a");
var date = new Date();
var d  = date.getDate();
var day = (d < 10) ? '0' + d : d;
var m = date.getMonth() + 1;
var month = (m < 10) ? '0' + m : m;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;
anchor.innerHTML = "Click to check";
anchor.href = "http://aa.bb.cc/" + year + '' + month + '' + day;
document.body.appendChild(anchor);

JSFiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM