JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.3/angular.js"></script>
<script>
var app = angular.module('app', []);
    
app.controller('ctrl', ['$scope', function ($scope) {
    $scope.message = 'hello';
}]);    
</script>

<div ng-app="app" ng-controller="ctrl">
{{message}}
</div>

JavaScript

function getScope(ctrlName) {
    var sel = 'div[ng-controller="' + ctrlName + '"]';
    return angular.element(sel).scope();
}

function changeText() {
    var $scope = getScope('ctrl');
    $scope.message = 'goodbye';
    $scope.$apply();
}    

var but;
jQuery(document).ready(function($) {
		
		var newButton = document.createElement("button");
    // et lui donne un peu de contenu 
    var newContent = document.createTextNode("OK"); 
    // ajoute le noeud texte au nouveau div créé
    newButton.appendChild(newContent);  
    newButton.setAttribute("onclick", "function(){console.log('clicked!'');var $scope = getScope('ctrl');$scope.message = 'Goodbye for the second time!';$scope.$apply();};");
    // ajoute le nouvel élément créé et son contenu dans le DOM 
    document.getElementsByTagName("div")[0].appendChild(newButton);
    setTimeout(changeText, 3000);
});