javascript - 用onclick将一行代码写入div

标签 javascript html

我希望 JavaScript 在我的 div 中写入特定的代码行,以便在特定日期按下按钮时激活链接。

Javascript:

function todaydate() {
    var d=new Date();
    d.setDate("Oktober 29, 2016")
    document.getElementById('Vign1').innerHTML ="<a href="layout.php">";
}

按钮的 HTML:

<div id="Vign1">
 <button onclick="todaydate();">    
 </button>
 </a>
 </div> 

所以我们的想法是,如果在 f.e. 处单击按钮。 2016 年 10 月 29 日,我的 javascript 添加了代码行来完成链接并激活它。有人可以帮助我吗,为什么它不起作用?

编辑:

日期检查不起作用。有人可以帮忙吗?它只能在特定日期或之后激活。但它不会工作.. 我当前的代码:

function todaydate() {
var submitDate = new Date();
var oct30 = new Date("October 30, 2016 00:25:00 ");
if (oct30.getTime() == submitDate.getTime()) {

  document.getElementById('link').setAttribute('href', 'layout.php');
}
else if (oct30.getTime() != submitDate.getTime()) {
document.getElementById('link').setAttribute('href', 'nichtverfuegbar.php');

}

最佳答案

这里有几个问题:

document.getElementById('Vign1').innerHTML ="<a href="layout.php">";

这是行不通的,因为你的 html 字符串中嵌套了双引号。一定是这样的:

document.getElementById('Vign1').innerHTML ="<a href='layout.php'>";

但是,这也不是您想要的。这将仅使用该开始标记覆盖 div 中的所有 html,包括按钮、结束标记等。

此外,当您尝试编写链接时,其中不会包含任何文本 - 别人怎么会看到要点击的内容?

这是一种方法。 (您也可以让 onclick 函数将整个链接添加为元素,如果这更适合您的用例。)注意 - 您仍然没有编写任何实际的日期检查逻辑。我假设你接下来会谈到这个。在添加之前,此按钮将始终创建一个链接。

function todaydate() {
  var d = new Date();
  d.setDate("Oktober 29, 2016")

  document.getElementById('link').setAttribute('href', 'layout.php');

  // optional, for demo purposes
  document.getElementById('link').innerText = 'A link!';
}
<div id="Vign1">
  <button onclick="todaydate();">Click me!
  </button>
  <a id="link">Not a link</a>
</div>

关于javascript - 用onclick将一行代码写入div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40323369/

相关文章:

javascript - 解析CloudCode有时不起作用

javascript - 重置事件动画 jQuery

javascript - 如何从自定义指令获取链接href?

jquery - 获取点击菜单的链接

html - 将页内 CSS 移动到外部文件

javascript - 防止 SPACE 和 ARROW 滚动 [游戏 Iframe]

javascript - Svelte 和 ESLint

html - 在属性中使用 HTML 实体可以吗?

html - 如何在CSS中将元素保持在一行

javascript - 扩展 Backbone.Collection 原型(prototype)