2017-09-22 6 views
1

Disons que j'ai une application angulaire avec l'album photo. Lorsque l'utilisateur clique sur l'image, la photo en taille réelle s'affichera à l'intérieur du modal. À l'intérieur du modal, j'ai besoin de changer dynamiquement l'attribut [src] sur l'élément img lorsque l'utilisateur clique sur l'image.est possible par jquery valeur définie sur l'attribut dont le nom contient des crochets

<img [src]="" /> 

script pour l'intérieur, après cliquer devrait ressembler à ceci:

var $myelement =$("img"); 
$myelement.attr('[src]', 'http://google.com'); 

J'ai essayé plusieurs façons comment réglez [src] attribut mais sans résultat de succès. Comment puis-je le réparer, des crochets sont nécessaires. exemple ci-dessus produits suivants Erreur: Uncaught (en promesse): InvalidCharacterError: Impossible d'exécuter « setAttribute » sur « Element »: « [src] » est pas un nom d'attribut valide.

Merci

+0

Pourquoi avez-vous mis entre crochets autour de l'attribut src? – Wndrr

+0

Le [premier résultat] (https://learn.jquery.com/using-jquery-core/faq/how-do-i-select-an-element-by-an-id-that-has-characters-used -en-css notation /) de googler « sélecteur de jquery échapper des caractères spéciaux » aurait répondu à votre question par la façon dont – Wndrr

+0

Après avoir fait plus de tests, il semble que les supports Nommage attribut entre en HTML ne provoque que des problèmes ... Quels sont – Wndrr

Répondre

1

Vous devriez pouvoir utiliser

$myelement.attr('\\[src\\]', 'http://google.com'); 

Pourquoi avez-vous mis entre parenthèses autour de l'attribut src? Y at-il une raison que vous ne pas simplement

var $myelement =$("img"); 
 
$myelement.attr('src', 'http://via.placeholder.com/350x150');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<img src="" />