Javascript 传递给数据的未定义变量

Javascript 传递给数据的未定义变量,javascript,jquery,parameters,Javascript,Jquery,Parameters,在这段代码中,未定义的变量传递给数据 var data, expContainerSettings; $( this ).hide(); $( '<span class="placeholder" style="display: none;"></span>' ).insertAfter( this ); $( this ).detach().prependTo( target ).data( 'collapsibleTabsSettings', data );

在这段代码中,未定义的变量传递给数据

 var data, expContainerSettings;
 $( this ).hide();
 $( '<span class="placeholder" style="display: none;"></span>' ).insertAfter( this );
 $( this ).detach().prependTo( target ).data( 'collapsibleTabsSettings', data );
 $( this ).attr( 'style', 'display: list-item;' );
 data = $.collapsibleTabs.getSettings( $( ele ) );
 if ( data )
 {
   expContainerSettings = $.collapsibleTabs.getSettings( $( data.expandedContainer ) );
   if ( expContainerSettings )
   {
       expContainerSettings.shifting = false;
       $.collapsibleTabs.handleResize();
   }
 }

如何解决此问题?

在将变量传递给
data
方法之前,需要在
data
变量上设置所需的值。目前,您正在传递未定义的
,因为您只需声明变量:

var data, expContainerSettings; // <-- Both of these are undefined.
执行此行之前:

data = $.collapsibleTabs.getSettings( $( ele ) );
$( this ).detach().prependTo( target ).data( 'collapsibleTabsSettings', data );

data
在该代码中未定义?
var数据,expContainerSettings发生了什么变化?我看到有一些修改,但看起来你把它们都删除了。
$( this ).detach().prependTo( target ).data( 'collapsibleTabsSettings', data );