Измените src изображения с помощью document.getElementByClassName и директивы ngif

#javascript #html #angularjs

Вопрос:

Я пытаюсь изменить изображения значков при загрузке с помощью document.getElementByClassName . Эти значки повторяются несколько раз. Код используется ngIf для отображения другого значка в зависимости от условий, выполняемых пользователем.

 lt;img class="viewlist_button_icon ng-scope" ng-if="fun.__inViewlist" src="source_file/image.png"gt; lt;!-- end ngIf: fun.__inViewlist --gt; lt;!-- ngIf: !fun.__inViewlist --gt;  

Я успешно изменил значки, используя следующее:

 var elems = document.getElementsByClassName("viewlist_button_icon ng-scope"); for (var i = 0; i lt; elems.length; i = 1) {  elems[i].src = "https://new_image.png"; }  

Я не могу понять, как изменить оба значка, управляемые ng-if

значок #1: ng-if="fun.__inViewlist"

значок #2: ng-if="!fun.__inViewlist"

Любая помощь будет признательна. Спасибо.

Ответ №1:

если вы используете angular.js (не угловой 2 и выше) , поместите адрес изображения в область$, а затем измените область$, чтобы изменить изображение следующим образом :

 $scope.myimg = '/img/icon1.jpg' ;   

не забудьте использовать ng-src в тегах изображений :

 lt;img ng-src="{{myimg}}"gt;  

ng-scr важен , src не будет работать

 lt;img src="{{myVar}}"gt; [this will not wok]