Inclure les URLs de l’image d’arrière-plan dans la chaîne jQuery

Comment puis-je inclure le style css background-image: url (”) dans une chaîne jquery. Cette chaîne se rompt à l’url (‘

var img=field.img; $(".wrapper").append("
");

La chaîne se rompt car le guillemet simple qui s’ouvre après [style =] se termine par [url (]. Comme la chaîne contient déjà les deux guillemets simples ainsi que les guillemets doubles, vous devez échapper le 3ème.

Changement

Vous devriez changer le code de

 $(".wrapper").append("
");

à

 $(".wrapper").append("
");

Exemple

 var field = { img: "https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/140626_Tierser_Alpl_Rossz%C3%A4hne.jpg/245px-140626_Tierser_Alpl_Rossz%C3%A4hne" } var img=field.img; $(".wrapper").append("
");
 .slide {display:inline-block;width:400px;height:400px;} 
  

Vous pouvez utiliser jQuery(html, atsortingbutes) . Remarque, les guillemets ne sont pas nécessaires pour l’URL dans la fonction css url() .

 $(function() { var field = { img: "http://placehold.it/100x100" } var img = field.img; var div = $("
", { "class": "slide bgimage", "style": "background-image: url(" + img + ")" }); $(".wrapper").append(div); });
 .wrapper, .wrapper div { width: 100px; height: 100px; display: block; } 
  

Ce n’est pas une bonne pratique d’insérer / append un élément div comme celui que vous pourriez envisager de changer dans ce format

 var img=field.img; var imgUrl='img/' + img +'.jpg'; var divElement=jQuery("
"); divElement.addClass('slide'); divElement.addClass('bgimage'); divElement.css('background-image',imgUrl); $(".wrapper").append(divElement);

J’espère que ça aide