2013-07-19 3 views
3

Я показываю длинный список изображений с сайта на странице с нижеследующим кодом. Id нравится использовать атрибут загрузки HTML5, чтобы щелкнуть каждое изображение, загрузив его.set загрузить атрибут на динамически отображаемое изображение

Вот что я пробовал:

for (var i = 0; i<arlnData.d.length;i++) { 
     var img = document.createElement('img'); 
     img.src = "https://images.website.com/airvendors/airlines_"+arlnData.d[i].Code+".gif"; 
     img.download ="my image"; 

     //also tried: 
     //img.src = "https://images.website.com/airvendors/airlines_"+arlnData.d[i].Code+".gif"; 
     document.body.appendChild(img); 

     var imageCellspace=document.createElement('br'); 
     document.body.appendChild(imageCellspace); 
} 

Изображения отображаются в порядке, но нажав на скачивание не работает.

Каков правильный синтаксис здесь?

ответ

5

Попробуйте с этим:

for (var i = 0; i<arlnData.d.length;i++) { 
     var img = document.createElement('img'); 
     img.src = "https://images.website.com/airvendors/airlines_"+arlnData.d[i].Code+".gif"; 

     var a = document.createElement('a'); 
     a.href = img.src; 
     a.download = 'image.gif'; 

     a.appendChild(img); 

     document.body.appendChild(a); 

     var imageCellspace=document.createElement('br'); 
     document.body.appendChild(imageCellspace); 
} 

Атрибут download для a, а не для img. Проверьте documentation.

+0

Ах, нужна ссылка, идеально. Спасибо! – DelightedD0D

1

Вы должны обернуть свой <img> по телефону <a>, так как атрибут download предназначен только для якорей.

var img = document.createElement('img'); 
img.src = "https://images.website.com/airvendors/airlines_"+arlnData.d[i].Code+".gif"; 

var a = document.createElement('a'); 
a.href = img.src; 
a.download = "My image name"; 

a.appendChild(img); 
document.body.appendChild(a); 

See MDN for reference!

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