当前位置: 首页 > 知识库问答 >
问题:

动态添加的按钮无法更改模式

锺离良哲
2023-03-14

首先,我要说的是,我已经搜索并发现了许多与此类似的问题,但我发现的所有问题都使用jquery、bootstrap、react等。。。,而我只是想要一个简单的HTML/CSS/JS解决方案。

更改反应模式数据动态启动模式,在动态按钮上动态添加按钮模式弹出窗口

我拿了W3School的代码,做了一些调整来测试我的理论,结果让我相信动态创建的按钮不能改变html中现有的元素。https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_modal

我动态地在代码中添加了一个简单的按钮,并将其放在JSFIDLE上。

document.createElement("button");
document.body.innerHTML += "<button onclick = show()>xxxxx</button>";

function show() {
    alert("it went here");
    modal.style.display = "block";
}

https://jsfiddle.net/IWannaDance/sg4nb6e5/1/

我知道如何使用javascript,但我不确定为什么无法使用按钮更改模式。其他类似问题的答案都是关于一个事件听者的,我不确定这与此有什么关系。对此的解释和解决方法将不胜感激。

编辑:这只是我用来测试的一个示例,而我实际的javascript代码使用for循环来创建格式相同的div,每个div都有一个动态添加的按钮,所有按钮都添加了appendChild。如果我在html文档中创建一个名为modal的div,并尝试在javascript中更改其属性,那么它似乎不起作用。但是,如果单击按钮创建一个新的模态,它确实会显示出来。我想在我找到更好的方法之前,这将是我暂时的解决办法。

共有1个答案

夏侯瑞
2023-03-14

添加类似于文档的元素。身体innerHTML=重写整个页面并销毁对“modal”元素的引用

如果您使用appendChild来添加按钮元素,它将起作用

var btn = document.createElement("button");
btn.textContent = "xxxxx";
btn.onclick = show;
document.body.appendChild(btn);

function show() {
  console.log("it went here");
  modal.style.display = "block";
}

JSFiddle

 类似资料:
  • 问题内容: 我有一些与它们相关联的jQueryUI按钮的项目列表。完成一个动作(删除一个项目)后,我想通过ajax重新加载列表。 唯一的问题是,当我这样做时,JQueryUI按钮不再显示,仅显示标准标记。 我知道我可以动态添加点击处理程序等,但是如何将jQueryUI 应用于它们? 问题答案: 通过ajax重新加载时,请在该上下文中调用(或使用的任何变体),如下所示: 这将 仅在响应中的*元素上运

  • 问题内容: 如何在Android中动态添加按钮? 问题答案:

  • 本文向大家介绍vue.js 实现点击按钮动态添加li的方法,包括了vue.js 实现点击按钮动态添加li的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇vue.js 实现点击按钮动态添加li的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我正在尝试使用我的风格中的colorButtonNormal使我的应用程序中的所有按钮都具有默认颜色。 它在API 21及以上版本上运行良好,但在API 21下,它只更改了一些按钮的背景,我不知道出了什么问题。 styles.xml v21/样式。xml 结果: Lollipop 和 奇巧 有什么建议吗?

  • 问题内容: 应用 http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css和 http://code.jquery.com/mobile/1.3.2/jquery.mobile后-1.3.2.min.js 无法通过脚本更改按钮的文本 有没有类似的经验并有解决方案? 可以从 FIDDLE 尝试DEMO **** JQUERY: H

  • 应用http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css和http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js后 无法通过脚本