jQuery wrapAll包装内容两次

问题描述 投票:0回答:1

我正在使用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....'); 

但无济于事。

javascript jquery drupal-7 wrapall
1个回答
0
投票

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

if(jQuery('.table-responsive').length == 0) {
    jQuery('table.views-table.table').wrap('<div class="table-responsive"> </div>');
}
© www.soinside.com 2019 - 2024. All rights reserved.