如何按自定义属性的值对 DIV OnClick Jquery 进行排序?
这段代码非常适合对动态创建的 div 进行排序:
<div id='1'>a</div>
<div id='2'>b</div>
<div id='3'>c</div>
<div id='4'>d</div>
<div id='5'>e</div>
<div id="addnew">Add New</div>
$('#addnew').live('click',function() {
newdiv = $("<div id='4'>AA</div>");
div_id_after = Math.floor(parseFloat(newdiv.get(0).id));
$('#'+div_id_after).after(newdiv);
});
我想要做的就是采用相同的函数并使其能够使用自定义属性“data-sort=”而不是 ID。
问候
This code works perfect for sorting a dynamically created div:
<div id='1'>a</div>
<div id='2'>b</div>
<div id='3'>c</div>
<div id='4'>d</div>
<div id='5'>e</div>
<div id="addnew">Add New</div>
$('#addnew').live('click',function() {
newdiv = $("<div id='4'>AA</div>");
div_id_after = Math.floor(parseFloat(newdiv.get(0).id));
$('#'+div_id_after).after(newdiv);
});
All I want to do is take this same function and make it work to use a custom attribute "data-sort=" rather than ID.
Regards
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在您的元素中,您可以使用
getAttribute()
。或者对于 jQuery,您可以使用
.data()
方法。这是可行的,因为 jQuery 在旧版浏览器上也支持 HTML5
data
属性。From your element, you can use
getAttribute()
.Or with jQuery, you can use the
.data()
method.This works because jQuery supports the HTML5
data
attributes on older browsers too.只需使用 newdiv.attr('data-sort') 访问 div 的自定义属性
更新:
事实上,如果您稍后想要迭代所有 div 元素并使用 'data-sort' 属性进行排序,使用 jQuery 您会做一些事情喜欢:
just use newdiv.attr('data-sort') to access custom attribute of your div
UPDATE:
Indeed if you later want to iterate over all div elements and use the 'data-sort' attribute for sorting, using jQuery you would do something like: