J'utilise l'API Google Image Search et j'ai largement copié ce code, qui génère les résultats de la recherche dans ma page.Je ne peux pas définir les attributs title et alt dans mon img en utilisant javascript
for (var i = 0; i < results.length; i++) {
// For each result write it's title and image to the screen
var result = results[i];
var linkContainer = document.createElement('div');
var title = document.createElement('div');
// We use titleNoFormatting so that no HTML tags are left in the title
title.innerHTML = result.titleNoFormatting;
var newImg = document.createElement('img');
newImg.src = result.tbUrl;
newImg.className = 'googleSearchResult';
newImg.title = 'newTitle';
newImg.alt = 'newAlt';
var newLink = document.createElement('a');
newLink.href = "temp_url";
newLink.appendChild(newImg);
contentDiv.appendChild(newLink);
}
Dans les lignes suivantes,
newImg.src = result.tbUrl;
newImg.className = 'googleSearchResult';
newImg.title = 'newTitle';
newImg.alt = 'newAlt';
les deux premiers, qui a fixé le src de l'image et la classe, fonctionnent très bien, mais les deux secondes, ce qui devrait définir le titre et alt de l'image, ne travaille pas du tout. Quelqu'un peut-il voir pourquoi cela se produirait? Merci d'avoir lu.
EDIT: Voici le code HTML lors de l'inspection dans Firefox par Firebug:
<img alt="" src="http://images.google.com/images?q=tbn:_HZix2CrLSLSOM::bestonlinetvseries.com/deadwood/deadwood_s01.jpg" class="googleSearchResult">
Voici le code HTML lors de l'inspection dans Google Chrome
<img alt src="http://images.google.com/images?q=tbn:_HZix2CrLSLSOM::bestonlinetvseries.com/deadwood/deadwood_s01.jpg" class="googleSearchResult">
EDIT: Ce que je suis en train de faire Ici, stockez un peu plus de données dans le code HTML de l'image, à utiliser ultérieurement dans un plugin jQuery. Si n'importe qui peut suggérer une manière alternative de faire ceci, ce serait grand aussi bien.
J'ai supprimé ma réponse car elle ne semblait pas aider. En fait ce n'était pas totalement correct car un élément d'image DOM a en effet une propriété 'alt'. Désolé. –
Pas de soucis, merci Felix – ben
N'utilisez jamais 'getAttribute' /' setAttribute' sur les documents HTML. Il est moins lisible que la méthode d'accès aux propriétés plain, et de nombreux attributs sont bogués dans IE. – bobince