Как скрыть элементы img, которые не имеют атрибута src, до тех пор, пока атрибут не будет добавлен? - PullRequest
2 голосов
/ 25 февраля 2009

Мой код JS включает в себя несколько изображений, которые в начале были пустыми (без указания атрибута src + display: none).

При добавлении на сайты с совместимостью с CSS1, я вижу значок разорванного изображения, где изображение должно быть, даже если изображения не должны отображаться (отображение: нет).

Есть идеи, как скрыть значки с разбитым изображением?

Примечания: Я не хочу загружать пустые изображения. Я пробовал ширину и высоту = 1px или 0px. не работал указание src = "" также дает пустые значки изображений.

Edit: Я нашел решение: добавить стиль = "display: none" в определение img (не в CSS)

Ответы [ 6 ]

5 голосов
/ 25 февраля 2009

Вы пытались обернуть изображения внутри div и вместо этого скрывать div?

3 голосов
/ 25 февраля 2009

Решение довольно простое:

добавить стиль = "display: none" в определение img (не в CSS)

3 голосов
/ 25 февраля 2009

Мой JS-код содержит несколько изображений, которые в начале были пустыми (без указания атрибута src

Это недопустимое состояние для изображения. Лучше всего использовать прозрачное изображение-заполнитель или оставляйте изображение вне DOM, пока не установите реальный атрибут src.

Я вижу значок разбитого изображения там, где должно быть изображение, даже если изображения не должны отображаться (отображение: нет).

У меня не бывает, либо «display: none», либо «visibility: hidden» удаляет видимое изображение со страницы. Пример кода, демонстрирующего проблему, и какой браузер (ы)?

2 голосов
/ 25 февраля 2009

как насчет того, чтобы иметь тег-заполнитель div и заменить его изображением, когда придет время показывать изображение? Любой приличный фреймворк ajax (например, jQuery) сделает это простым, чтобы он работал во всех основных браузерах

1 голос
/ 25 февраля 2009

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

0 голосов
/ 25 февраля 2009

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

var images = $$('.myImages');

if (image != null)
{
    for (int i = 0; i < images.Length; i++)
    {
        images[i].hide;
    }
}

Вам все равно нужно добавить атрибут style style = "display: none;" к изображениям

...