Je voudrais mettre une image comme rien. En faisant src=""
, beaucoup de gens disent que cela peut causer des problèmes aux navigateurs:
http://www.nczonline.net/blog/2009/11/30/empty-image-src-can-destroy-your-site/
donc je ne suis pas sûr si ci-dessous peut faire face au même problème que de définir src à vide:
<img id="myImage">
puisqu'il n'y a pas d'attribut src sur ce cas.
Donc, si je veux initialement ne définir aucune image, que puis-je faire de mieux?
Initialisez l'image comme suit: src="//:0"
comme ici : <img id="myImage" src="//:0">
Edit: selon le commentaire d'Alex ci-dessous, utiliser
//:0
peut apparemment déclencher l'événementonError
de laimg
. Alors méfiez-vous de cela.Edit 2: D'après un commentaire de Drkawashima : à partir de Chrome 61,
src="//:0"
ne semble plus déclencher l'événement onError}.
Autre solution
Vous pouvez également utiliser une très petite image jusqu'à ce que vous remplissiez la balise src
: comme cette image . Avec cette "très petite image", vous initialiseriez la balise comme suit:
<img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" width="0" height="0" alt="" />
Supprimer un élément du DOM
Sinon, si vous ne voulez simplement pas que l'élément apparaisse dans le DOM , utilisez simplement du JavaScript:
var myObject = document.getElementById('myObject');
myObject.parentNode.removeChild(myObject);
(selon cette réponse , l'utilisation de la fonction .remove()
de JavaScript n'est pas recommandée, en raison de la mauvaise prise en charge du navigateur dans DOM 4)
Ou utilisez simplement un peu de jQuery:
$("#myObject").remove();
La manière la plus communément acceptée que je connaisse (recommandée par CSSTricks, etc.) est une image 1px en b.
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"> alt="">
Devtools apparaîtra comme une requête réseau 0B. Par conséquent, si vous surveillez les performances, vous serez peut-être surpris du nombre de demandes d'images. Mais sinon, il n'y a rien d'inquiétant.
Remarque: incluez toujours une alt
vide, sinon les lecteurs d'écran liront l'url img à haute voix.
Utilisez ce script pour définir une image par défaut si src est vide ou vide
$(document).ready(function () {
$('img').each(function () {
if($(this).attr('src')=="") {
$(this).attr('src', 'Images/download.jpg');
}
});
});
Utilisez simplement un symbole de hachage #
. C'est une valeur valide pour l'attribut src
. :) https://stackoverflow.com/a/28077004/3841049