jQuery选择器存储对象?如何强迫它不这样做
jQuery selector stores object? How to force it not to?
我有一个下拉列表(<选择>(元素和一个容器。选择>
<div class='container' />
<script>
var dropdown = "<select class='multi-dropdown'> ... </select>"
</script>
当值更改时,您将获得另一个值。这是合乎逻辑的,这只发生在文档准备就绪(第一个是在那里制作的(,并且当客户端修改最后一个文档时。
$(document).ready( function(){
$('.container').append(dropdown);
$('.multi-dropdown:last').change(function(){
$('.container').append(dropdown);
});
});
对我来说似乎是一个工作代码。但我注意到的是,这不适用于下一个附加的下拉元素。此外,如果我更改原始的,它会触发。
我的理论是,也许jQuery已经将原始对象存储为:last,因此即使我添加新的"last"元素,它也不会再次选择新元素。
或
新创建的元素(以这种方式(甚至不能用jQuery选择。
请争论赞成或反对,这些只是我的想法。
问题是你新附加的 SELECT 永远不会绑定到它的事件。 仅仅因为您使用类来绑定更改,即使是初始 SELECT,这不会自动应用于 DOM 中的每个新添加元素。
阅读委托事件,例如 on(( 函数。 或者使用类似livequery的东西。
由于在页面启动时将change
处理程序绑定到:last
元素,因此如果最后一个元素动态更改,则不会相应地更改该元素;请尝试使用on
方法进行深度委托。
喜欢:
$(document).ready( function(){
$('.container').append(dropdown);
$('body').on('change','.multi-dropdown:last',function(){
$('.container').append(dropdown);
});
});
相关文章:
- 页面在我的javascript执行后重新加载,我不希望它这样做
- 如何在将鼠标悬停在提交/锚点上时检查复选框是否已选中,并显示提示用户这样做的警报
- JavaScript 如果数组包含名称,则不要这样做
- 我用脚本创建了一个按钮.我可以通过点击按钮调用其他函数吗?我这样做,但失败了
- Jquery语法;也这样做”;
- 如果我不这样做会发生什么;t在javascript中的变量中分配新的Image
- 如果他们不这样做,就从我的数组中删除东西't没有前缀
- 如何使用“;这个“;在javascript中?这样做的目的是什么
- 如果我不这样做会发生什么;t有页码吗?继续循环帖子..为什么需要分页,对于页脚
- 禁用 ALT+F4,是的,我知道不建议这样做
- 使用默认值定义构造函数.我这样做对吗?
- 我刚刚开始使用 MEAN 堆栈.我试图将我的表单提交数据存储到 mongo 数据库,但我无法这样做
- 为什么不这样做
- Node.JS/Javascript - 将字符串转换为整数正在返回 NaN,而我不希望它这样做
- 在angularjs中拥有$sce或严格上下文转义有什么好处,为什么反应不需要这样做
- 如何分解此代码以减少重复(以及应该这样做)
- 嵌套的 if/else 语句讨论了分配变量.我已经这样做了,但它仍然不起作用
- blur() 无法以编程方式工作 |但在从用户启动时会这样做
- Webkit 似乎不支持层上的 $.focus(),而 IE9 支持.无论如何,让webkit浏览器也这样做
- jQuery选择器存储对象?如何强迫它不这样做