2011-01-30 4 views
1

Есть ли способ изменить изображение с атрибутом alt при загрузке изображения?Как изменить src img с его alt?

Я хочу, чтобы сценарий автоматически менял источник изображения на alt.

Перед

<img src="" alt="exe"> 

После

<img src="exe" alt="exe"> 
+2

ехе? Является ли этот код вредоносным? – Moshe

+0

Дивья обычно является женским именем. – jmort253

+3

Это не цель атрибута alt ... вместо этого используйте атрибут custon ... data-off = "..." data-on = "..." например. «data-» предназначен для префикса для нестандартных метаданных в тегах. Если вы выделите вопрос, может быть предоставлен лучший ответ. Используете ли вы базовый инструментарий (jquery, dojo и т. Д.?) – Tracker1

ответ

3

Вы можете использовать JavaScript:

// Execute function on load through self-invocation 
var switchAlt = function() { 
    // Get all images on the document 
    var images = document.getElementsByTagName('img'); 

    // Count the number of image elements and switch alt and src 
    var i = images.length; 
    while (i--) { 
     images[i].src = images[i].alt; 
    } 
}(); 

Не забудьте обернуть его в теги сценария, если вы реализация его в HTML-файле эс:

<script type="text/javascript"> 
// Execute function on load through self-invocation 
var switchAlt = function() { 
    // Get all images on the document 
    var images = document.getElementsByTagName('img'); 

    // Count the number of image elements and switch alt and src 
    var i = images.length; 
    while (i--) { 
     images[i].src = images[i].alt; 
    } 
}(); 
</script> 
+3

+1 для того, чтобы не использовать jQuery для ответа на этот вопрос. –

+1

Быстрое примечание. Если OP хочет их поменять, вы захотите использовать временную переменную в этом цикле while. – Moshe

+1

@apphacker - Что случилось с использованием абстракции, которая упрощает кодирование? – jmort253

1

Попробуйте это:

var change = function() { 
    var imgs = document.images || document.getElementsByTagName('img'); 
    for (var i = 0; i < imgs.length; i++) { 
     imgs[i].src = imgs[i].alt; 
    } 
} 

DEMO

0

Прежде всего, дать идентификатор изображения, таким образом IMG тег будет выглядеть следующим образом:

<img id="img1" src="" alt="myimage.jpg" onload = "changesource()"/> 

Теперь напишите функцию JavaScript следующим образом:

function changeSrc() 
{ 
    var img = document.getElementById("img1"); 
    img.src =img.alt; 
} 

Теперь называют эту функцию на нагрузке изображения, как это:

onload = "changeSrc()" 
+0

Согласно этому ресурсу, это ненадежное во всех браузерах: http://www.htmlcodetutorial.com/images/_IMG_onLoad.html – jmort253