Javascript 使用Jquery控制动态生成的HTML
我得到的是一个包含一个DIV的网页,我在其中动态地放置一个带有选择器按钮的条目列表,对于这个例子,我简化了很多代码 目标DIV看起来像Javascript 使用Jquery控制动态生成的HTML,javascript,jquery,html,css,bootswatch,Javascript,Jquery,Html,Css,Bootswatch,我得到的是一个包含一个DIV的网页,我在其中动态地放置一个带有选择器按钮的条目列表,对于这个例子,我简化了很多代码 目标DIV看起来像 <div id="targetdiv"></div> 现在,这很好,我得到了一个很好的列表,当我点击生成的按钮时,正确的例程被启动,参数被正确地传递,我得到了我期望的结果 但是,当按下按钮时,我想禁用所有“dynamicbutton”类元素,一旦处理完成,就重新启用它们 在我打电话的例行程序中,我有电话线 $( ".dynamicbut
<div id="targetdiv"></div>
现在,这很好,我得到了一个很好的列表,当我点击生成的按钮时,正确的例程被启动,参数被正确地传递,我得到了我期望的结果
但是,当按下按钮时,我想禁用所有“dynamicbutton”类元素,一旦处理完成,就重新启用它们
在我打电话的例行程序中,我有电话线
$( ".dynamicbutton").attr( "disabled", "disabled");
但这似乎不会影响任何动态生成的内容,如果页面上的其他按钮属于同一类,则它们会被禁用,因此看起来我只能使用此方法访问最初加载的文档中的内容
我甚至试着给每个按钮一个唯一的id,并分别引用每个按钮,但都没有成功
那么,是否有一种方法可以生成这些内容,以便jQuery可以通过其正常的元素选择来访问这些内容,或者是否有一些其他技术需要我来操作它们?在将动态内容添加到页面后,您需要运行代码。如果您以前运行过代码,jQuery将看不到动态内容。我会在用户按下按钮时运行代码,然后在添加动态内容后再次运行代码。然后在完成处理后将其移除
您还可以使用
$(“.dynamicbutton”).prop(“disabled”,true)代码>将动态内容添加到页面后,需要运行代码。如果您以前运行过代码,jQuery将看不到动态内容。我会在用户按下按钮时运行代码,然后在添加动态内容后再次运行代码。然后在完成处理后将其移除
您还可以使用$(“.dynamicbutton”).prop(“disabled”,true)代码>您需要委托事件,因为当事件绑定到#目标时,元素在DOM中不可用
此外,最好使用.prop()
而不是.attr()
试试这个
$('body').on('click', '#targetdiv', function() {
$(".dynamicbutton").prop( "disabled", true);
});
当事件绑定到#目标时,您需要为这种情况委派事件,因为元素在DOM中不可用
此外,最好使用.prop()
而不是.attr()
试试这个
$('body').on('click', '#targetdiv', function() {
$(".dynamicbutton").prop( "disabled", true);
});
如果我使用一个以前没有用于选择的类,那么我可以使用它来选择动态生成的组
因此,如果我使用class=“brandspankinnewelements”
生成数量不确定的输入,并且该类以前没有被用作页面上任何其他元素的选择器
我现在可以用$(“.brandspankinnewelements”)
这使生活变得更简单。如果我使用以前没有用于选择的类,那么我可以使用它来选择动态生成的组
因此,如果我使用class=“brandspankinnewelements”
生成数量不确定的输入,并且该类以前没有被用作页面上任何其他元素的选择器
我现在可以用$(“.brandspankinnewelements”)
这让生活简单多了。这个怎么样?
在#targetdiv之后插入脚本,然后尝试是否有效。
此处的.dynamicbutton将仅禁用id targetdiv中的所有类dynamicbutton
<div id="targetdiv"></div>
<script type='text/javascript'>
$('.dynamicbutton').click( function() {
$('#targetdiv .dynamicbutton').attr("disabled", "disabled");
});
</script>
$('.dynamicbutton')。单击(函数(){
$('#targetdiv.dynamicbutton').attr(“禁用”、“禁用”);
});
这个怎么样?
在#targetdiv之后插入脚本,然后尝试是否有效。
此处的.dynamicbutton将仅禁用id targetdiv中的所有类dynamicbutton
<div id="targetdiv"></div>
<script type='text/javascript'>
$('.dynamicbutton').click( function() {
$('#targetdiv .dynamicbutton').attr("disabled", "disabled");
});
</script>
$('.dynamicbutton')。单击(函数(){
$('#targetdiv.dynamicbutton').attr(“禁用”、“禁用”);
});