jQuery选择器不检测修改的元素
jQuery Selector not detecting modified element
我正在编写一种有序的照片管理面板,其中我使用flexx和order属性。order属性从数据库中加载,所有元素都正确显示。我还做了一个函数来改变顺序。它由两个箭头组成,它们向右或向左移动元素,修改它的order属性,并使用ajax在数据库中修改它。
我的问题是,在我用jQuery修改order属性后,该元素不再可以用选择器访问,所以当我向右移动元素,之后我向左移动它不工作。
使用开发人员控制台,我试图按指令执行脚本指令,问题是,当我选择一个元素:
var element = $('.thumb[style="order: 3"]');
它返回正确的元素,但如果在此之后我修改它使用:
element.css('order',4);
当我再次使用选择器时,它不会返回任何东西。
$('.thumb[style="order: 4"]');
返回[]
但是在Chrome和Firefox的元素检查器中,我看到元素已经改变了它的顺序。
我做了一个小提琴来显示这个问题。我试着找过了,但什么也没找到。如有任何帮助,不胜感激。
https://jsfiddle.net/fskxw2wp/这是因为当您使用.css
添加属性时,它会在值后面添加分号:
<div class="thumb" style="order: 1;">2</div>
所以你的选择器现在是错误的(因为它不包含分号)
我要么把它添加到你的初始加载和选择器(更新后的小提琴)或改变使用一个数据属性,而不是做一个过滤器
相关文章:
- 在多个元素上使用jquery插件,只需稍作修改
- 动态修改一个元素,使其与给定的选择器匹配
- 使用Underscore.js修改json数组中所选元素的更有效方法
- 使用JQuery修改伪元素的css
- 在对同一元素使用.addClass()后修改.haverage()
- 用于修改文档元素的 PHP 代码
- 在 Greasemonkey 中修改 Angular JS 中的 DOM 元素
- 检查所有元素的属性并修改另一个元素
- 如何在不创建新元素的情况下修改 DOM 元素的位置
- 事件来修改同级元素
- 无法修改DOM元素的类
- 如何对修改后的元素重新绑定事件
- 复制和修改元素,以便在html文档的另一部分使用它们
- 通过事件监听器在circle的文本匹配id上修改circle元素
- 修改时,哪些DOM元素属性会导致浏览器执行回流操作
- 从 React 中的自定义元素中修改属性
- 什么时候是“;“安全”;以在解析文档时修改给定的html元素/节点
- 如何修改元素中的现有<内容>
- Polymer:当数组中的对象被外部代码修改时,更新dom重复元素
- 按时间间隔链接相似元素修改