2015-03-04 4 views
0

Этот код работает в Chrome, но не работает в Firefox, IE и Safari. Специфический разрыв - это когда появляется оператор if. Я отлаживал это, и когда он попадает в истинное утверждение, он игнорирует его и не переходит в оператор If.getElementsByTagName не сохраняет (работает только в хроме)

function injectId() 
{ 
    //take over their old stuff 
    var imgElements = document.getElementsByTagName('img'); 
    for(var i = 0, len = imgElements.length; i < len; i++) { 
     if (imgElements[i].src == "http://imageurl/imagename.png") { 
      imgElements[i].id = tabs[0]; 
      break; 
     } 
    } 
} 

Sidenotes: я боролся на некоторое время, используя не-хромовые средства разработки, потому что они переназначить имена. Например, если вы перейдете к началу цикла for и попробуйте добавить «imgElements» для просмотра, он выдает вам ошибку «неопределенной ссылки». Вместо этого мне пришлось найти отображаемую переменную (t в этом случае), и мне также пришлось найти отображаемую индексную переменную (e), чтобы найти источник.

+0

Вы можете поделиться образцом html –

+0

Вы используете относительные пути для изображений –

ответ

0

Ваш код работает отлично: http://jsfiddle.net/dpchq2h7/

Я думаю, этот вопрос является tabs[0], который, в зависимости от того, что вкладки это может вызвать браузера конкретных проблем.

Смежные вопросы