У меня есть вкладки Bootstrap с некоторым jquery, чтобы перейти к определенной вкладке на странице перезагрузки или гиперссылки. После обновления jQuery с 1.11.3 по 2.2.4 он перестает работать и дает эту ошибку: Не удалось Ошибка: Синтаксическая ошибка, непризнанное выражение: .nav-tabs aХеш загрузочных вкладок после обновления jQuery: ошибка неактивности: ошибка синтаксиса, нераспознанное выражение: .nav-tabs a
Любые идеи, что вызывает это и как его исправить? Ссылки на работающих и сломанные примеры ниже:
Working example with jQuery 1.11.3
Broken example with jQuery 2.2.4
HTML:
<div>
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a></li>
<li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">Profile</a></li>
<li role="presentation"><a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">Messages</a></li>
<li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">Settings</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="home">1...</div>
<div role="tabpanel" class="tab-pane" id="profile">2...</div>
<div role="tabpanel" class="tab-pane" id="messages">3...</div>
<div role="tabpanel" class="tab-pane" id="settings">4...</div>
</div>
ЯШ:
$(document).ready(function() {
// Javascript to enable link to tab
var url = document.location.toString();
if (url.match('#')) {
$('.nav-tabs a[href=#' + url.split('#')[1] + ']').tab('show');
}
// Change hash for page-reload
$('.nav-tabs a').on('shown.bs.tab', function(e) {
window.location.hash = e.target.hash;
});
});
Отлично, это решило это для меня тоже! – Acidon