jQuery wrapAll包装内容两次
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery wrapAll包装内容两次相关的知识,希望对你有一定的参考价值。
我正在使用Drupal视图,我必须使用div
标记用表包装表。我在jQuery中做了类似的事情:
jQuery('table.views-table.table').wrapAll("<div class='table-responsive'></div>");
这会在第一次屏幕加载时很好地包装内容,例如:
<div class="table-responsive">
<table class="views-table cols-5 table">.....
但是我也使用Ajax对表进行排序,因此,当我对表进行排序时,单击排序选项,wrapAll()
似乎将内容包装两次,如:
<div class="table-responsive">
<div class="table-responsive">
<table class="views-table cols-5 table">....
即使在使用Ajax排序之后,我还应该用div
将表包装一次?
有一个类似的问题here,但我不明白他是如何解决这个问题的。
我也做了以下,但也没有用:
jQuery('elements....').wrap('elements....').unwrap('elements....').wrap('elements....');
但无济于事。
答案
我用简单的if语句修复了这个以检查长度,如:
if(jQuery('.table-responsive').length == 0) {
jQuery('table.views-table.table').wrap('<div class="table-responsive"> </div>');
}
以上是关于jQuery wrapAll包装内容两次的主要内容,如果未能解决你的问题,请参考以下文章
[ jquery 文档处理 wrapAll(html|ele)) ] 此方法用于把所有匹配的元素使用指定的 HTML 元素来包裹