我正在尝试使用 JavaScript 填充下拉列表,并在 IE8 中收到以下错误:
消息:“1”为空或不是对象行:59 字符:3 代码:0
当我通过调试器(在本例中为 JSBin)推送代码时,我在代码中看到以下错误:
第 59 行: var $selected_view = $( '#ai1ec-view-' + matches[1] ); --- 'matches' 使用超出范围。
JSBin 中的这个错误是否与 IE8 中的错误相关?当代码在 Chrome、FF 或 IE9 上运行时,不会出现任何错误。
这是有问题的代码片段。
// Make current view actively selected in view dropdown button.
var classes = $('body').attr( 'class' ).split( ' ' );
for ( i in classes ) {
// Extract current view from the body class.
var matches = /ai1ec-action-([\w]+)/.exec( classes[i] );
if ( matches != null ) break;
}
// Get the dropdown menu link of the active view.
var $selected_view = $( '#ai1ec-view-' + matches[1] );
// Replace contents of dropdown button with menu link, plus the caret.
$( '#ai1ec-current-view' )
.contents()
.remove()
.end()
.prepend( $selected_view.contents().clone() )
.append( '<span class="caret"></span>' );
// Deactivate all dropdown menu items.
$( '#ai1ec-view-dropdown .dropdown-menu li' ).removeClass( 'active' );
// Activate only currently selected dropdown menu item.
$selected_view.parent().addClass( 'active' );