2013-09-11 2 views
5

У меня есть изображение, определенный следующим образом:скрыть изображение в JavaScript, используя его SRC

<div id="logo" class="exhibit-flowingFacet"> 
    <div class="wrapper"> 
    <img src="path/to/the/image/logo.png"> 
    </img> 
    </div> 
</div> 

Я хочу с JavaScript получить изображение его ЦСИ и скрыть его.

function hideImage() { 
    if (document.getElementById() 
    { 
    if (document.getElementById('logo').getElementsByClassName('wrapper').src=="path/to/the/image/logo.png") 
    { 
     document.style.visibility = 'hidden'; 
    } 
    } 
}; 

hideImage(); 

Но код не работал! Есть идеи?

+0

можно добавить идентификатор в атрибут IMG. а затем с помощью jquery вы можете использовать: $ ("# id"). hide(); –

+0

Проблема заключается в том, что я не могу редактировать определение документа. –

ответ

0

Попробуйте этот сценарий:

function hideImage() { 
    var path = 'path/to/the/image/logo.png'; 
    var img = document.getElementById('logo').getElementsByTagName('img')[0]; 
    if (img && img.getAttribute('src').indexOf(path) > -1) { 
     img.style.visibility = 'hidden'; 
    } 
} 

if (window.addEventListener) { 
    window.addEventListener('load', hideImage, false); 
} else if (window.attachEvent) { // for older IE8-6 compatibility 
    window.attachEvent('onload', hideImage); 
} 

JSFiddle

+0

thx Я пробовал работать в течение нескольких секунд, а затем появляется скрипт java: img не определено. Изображение PS.the не определено непосредственно под девизом с логотипом. Мы должны пройти мимо div с оболочкой className? –

+1

Прошу прощения, я не знаю, почему это не работает. Можете ли вы попробовать следующую модификацию? http://jsfiddle.net/ZC4yA/4/ (метод [querySelector] (http://caniuse.com/queryselector) работает с IE8, он все еще немного совместим с [getElementsByClassName] (http: // caniuse. com/getelementsbyclassname)) или это http://jsfiddle.net/ZC4yA/3/ (если вы хотите также совместимость с IE7) – Stano

+0

Thx много Я использовал ваш код для создания своего точного случая http://jsfiddle.net/amani1988/ QCwVg/4/и он работает :), но один экземпляр кода в моем файле javascript определяется он больше не работает! Я думаю, что для этого требуется внешний источник javascript, который нужно добавить. Есть ли у вас идея? –

2

С JQuery вы могли бы написать

$('img[src="path/to/the/image/logo.png"]').hide(); 
0

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

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 

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

function hideImage(imageSrc) { 
$('img[src=" + imageSrc + "]').css("display","none"); 

} 

и t урну его обратно с помощью

$('img[src="path/to/the/image/logo.png"]').css("display","block"); 
+0

Спасибо. проблема решена :) –

0

Вы можете попробовать это: -

$('img[src="path/to/the/image/logo.png"]').css("display","none"); 

или попробовать это: -

this.style.display = "none"; 
0

getElementsByClassName('wrapper') является массивом, поэтому вы должны получить доступ к src-атрибут первого элемента - по крайней мере, в вашем случае.

if (document.getElementById('logo').getElementsByClassName('wrapper')[0].src=="path/to/the/image/logo.png") 
+0

Thaaank you :) ... –

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