jQuery wrapAll包装内容两次

时间:2013-10-20 15:29:05

标签: javascript jquery drupal-7 wrapall

我正在使用 Drupal视图,其中我必须将带有div标记的表格与class包装在一起。我在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....'); 

但没有用。

1 个答案:

答案 0 :(得分:0)

我用简单的if语句修复了这个以检查长度,如:

if(jQuery('.table-responsive').length == 0) {
    jQuery('table.views-table.table').wrap('<div class="table-responsive"> </div>');
}