javascript - 使用Jquery控制动态生成的HTML

标签 javascript jquery html css bootswatch

我得到的是一个包含 DIV 的网页,我在其中动态地放置了一个带有选择器按钮的条目列表,我已经为这个例子简化了很多代码

目标DIV看起来像

<div id="targetdiv"></div>

我向服务器请求一个列表并构建一个看起来像这样的字符串

<div>
 nameofentryfromserver1
 <input type="button" class="dynamicbutton" onclick="someroutine('nameofentryfromserver1')">
</div>
<div>
 nameofentryfromserver2
 <input type="button" class="dynamicbutton" onclick="someroutine('nameofentryfromserver2')">
</div>
<div> ... same thing for next entry and so on

然后我将其插入到文档中

$( "#targetdiv").html( generatedstring );

现在它工作正常,我得到了一个很好的列表,当我点击生成的按钮时,正确的例程启动并且参数被正确传递,我得到了我期望的结果。

但是,当按下按钮时,我想禁用所有“dynamicbutton”类元素,在处理完成后重新启用它们。

在我调用的例程中有一行

$( ".dynamicbutton").attr( "disabled", "disabled");

但这似乎不会影响任何动态生成的内容,如果我在页面上有属于同一类的其他按钮,它们会被禁用,所以看起来我只能访问最初加载的文档中的内容使用这种方法。

我什至尝试给每个按钮一个唯一的 ID 并单独引用每个按钮,但没有成功。

那么有没有一种方法可以生成这些内容,以便 jQuery 可以通过它的正常元素选择来访问它,或者我需要使用其他一些技术来操作它们吗?

最佳答案

您需要在将动态内容添加到页面后运行代码。如果您之前运行代码,jQuery 看不到动态内容。当用户按下按钮然后在添加动态内容后再次按下时,我会运行代码。然后在完成处理后将其删除。

你也可以使用 $( ".dynamicbutton").prop( "disabled", true);

关于javascript - 使用Jquery控制动态生成的HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13236192/

相关文章:

javascript - 如何在 JavaScript 测验中使用循环

javascript - 如何将代码从 rxjs v5 转换为 rxjs v6 以进行 catch?

javascript - 如何在Reactjs中正确添加和使用第三方/npm库?

JQuery 最佳实践,在 IIFE 中使用 $(document).ready?

javascript - iPhone 不能正常播放动画 Sprite ?

html - 在 <canvas> 上鼠标悬停时制作图像缩放

php - 如何知道用户何时关闭浏览器?聊天应用

javascript - 计时器倒计时 Angular 2

javascript - 什么时候应该在 Typescript 中显式添加类型注释?

javascript - 仅获取父标签名称,而不是使用 prop ("tagName"的点击事件的子标签)。为什么?