2014-02-17 2 views
0

У меня есть следующий код jquery, который отлично работает в firefox и safari, но не в хроме.JQuery и chrome issue

В основном я просто хочу следующий код для запуска при загрузке страницы:

$("ul#menu-master_menu li ul li a span.sf-sub-indicator:first-child").remove(); 

По некоторым причинам я не могу получить эту работу, так что я поставил его для работы на нагрузку изображения, как показано ниже :

$(window).load(function() { 
    $("#logoLoader").load(function(){ 
     $("ul#menu-master_menu li ul li a span.sf-sub-indicator:first-child").remove(); 
    }).attr('src', 'http://localhost/wordpress/wp-content/themes/volumes/images/logo.png'); 
}); 

Это не работает в хромированном состоянии. Может ли кто-нибудь предложить мне решение или объяснение, почему он не работает в хроме. Как я уже говорил, я просто нужна эта строка кода для запуска:

$("ul#menu-master_menu li ul li a span.sf-sub-indicator:first-child").remove(); 

Благодарности

+0

показать свой HTML или сделать скрипку –

+1

какую версию Chrome? – tyler

+1

Есть ли причина, по которой вы не используете '.ready': http://api.jquery.com/ready/? –

ответ

0

Я собираюсь отправить это здесь, Allthough это будет комментарий. Я пишу это здесь, чтобы объяснить отладку в этой ситуации, которую я не могу найти в поле комментариев

Вы хотите отладить свой селектор. Если вы уверены, что проблема заключается в этой строке, вы хотите ее отладить. Мы можем попытаться увидеть, если это селектор, и усложнять его вниз вниз пробеге:

// In the $(document).ready(); : 
console.log($("ul#menu-master_menu").length); 
console.log($("ul#menu-master_menu").length); 
console.log($("ul#menu-master_menu li").length); 
console.log($("ul#menu-master_menu li ul").length); 
console.log($("ul#menu-master_menu li ul li").length); 
console.log($("ul#menu-master_menu li ul li a").length); 
console.log($("ul#menu-master_menu li ul li a span").length); 
console.log($("ul#menu-master_menu li ul li a span.sf-sub-indicator").length); 
console.log($("ul#menu-master_menu li ul li a span.sf-sub-indicator:first-child").length); 

Это должно дать вам 9 лог-товаров в отладчике. Если нет, узнайте, где он терпит неудачу.
Если он работает все 9 строк, переключите .remove() на .css({background:'pink'}), чтобы узнать, выбирает ли он правильный элемент.

0

Эта линия огонь событие после окончания загрузки страницы

$(window).load(function() { 

Это путь следующая функция не вызывает

$ ("# logoLoader"). Нагрузка (функция() { });

Попробуйте изменить $(window).load(function() {}) к $(document).ready(function() { ... })

+0

Это полностью зависит от контекста. Window.load может находиться в doc.ready. Возможно, этот код нужно активировать, когда страница будет загружена. :) – Martijn

+0

Итак, он может удалить ненужное событие загрузки #logoLoader, так как он уже загружен –