jQuery – 使用相同的类对多个元素进行分组
我有一堆元素都属于某个数字的一部分。
...
我想用父元素包装相同节元素的每个组,甚至是只出现一次的节。
这是一个快速,有效但非常脏的解决方案,我想出了:
$('.section-1').wrapAll(''); $('.section-2').wrapAll(''); $('.section-3').wrapAll(''); $('.section-4').wrapAll(''); $('.section-5').wrapAll(''); $('.section-6').wrapAll('');
我尝试使用每个()提出一个更优雅的解决方案
$('.section-1,' + '.section-2,' + '.section-3,' + '.section-4,' + '.section-5,' + '.section-6').each(function () { $(this).wrapAll(''); });
但后来我意识到这将包装每个类名的每个单独的出现,而不是将它们包装成一个组。
最重要的是,虽然目前只有6个部分,但未来可能会有更多部分(7,8,9,10,11等),所以如果该function可以使用任意数量的部分,那将会很棒。
任何帮助深表感谢。
你可以试试这个 :
// Get all the classes var classes = $('[class^=section]').map(function() { return $(this).attr('class'); }); // Filter only unique ones var uniqueClasses = $.unique(classes); // Now group them $(uniqueClasses).each(function(i, v) { $('.'+v).wrapAll(''); });
在此示例中,每个组都将位于父类div中,类名为parent-section-1
, parent-section-2
等。
Interesting Posts
如何在jQM页面之间存储变量?
如何在FullCalendar中使用外部元素获取drop和eventDrop的结束时间?
有一个脚本模拟一个控件,按键序列?
jquery .show()和.hide()在safari中不起作用 – 将微调器添加到<a href
当Internet Explorer开发人员工具栏可见时,JavaScript脚本仅适用于Internet Explorer
如何在XML + XSL生成的HTML中使用带有jQuery的UL操作?
如何在angularjs中阻止/取消绑定之前的$ watch
禁用一页应用程序的浏览器后退按钮
如何在chrome浏览器中调用父窗口函数?
在iFrame中将Javascript上下文设置为iFrame