Выбор и управление элементами из Ajax - PullRequest
0 голосов
/ 24 апреля 2020

Я использую код для загрузки HTML в div-контейнер. Цель состоит в том, чтобы иметь одностраничное приложение. Теперь я хочу использовать загруженный контент и иногда менять текст или дизайн. На данный момент это не работает, как я хочу.

Одна из трех частей показывает наиболее важную часть, которую я считаю:

Router.prototype = {
    routes: undefined,
    rootElem: undefined,
    constructor: function (routes) {
        this.routes = routes;
        this.rootElem = document.getElementById('app');
    },
    init: function () {
        var r = this.routes;
        (function(scope, r) { 
            window.addEventListener('hashchange', function (e) {
                scope.hasChanged(scope, r);
            });
        })(this, r);
        this.hasChanged(this, r);
    },
    hasChanged: function(scope, r){
        if (window.location.hash.length > 0) {
            for (var i = 0, length = r.length; i < length; i++) {
                var route = r[i];
                if(route.isActiveRoute(window.location.hash.substr(1))) {
                    scope.goToRoute(route.htmlName);
                }
            }
        } else {
            for (var i = 0, length = r.length; i < length; i++) {
                var route = r[i];
                if(route.default) {
                    scope.goToRoute(route.htmlName);
                }
            }
        }
    },
    goToRoute: function (htmlName) {
        (function(scope) { 
            var url = 'views/' + htmlName,
                xhttp = new XMLHttpRequest();
            xhttp.onreadystatechange = function () {
                if (this.readyState === 4 && this.status === 200) {
                    scope.rootElem.innerHTML = this.responseText;
                }
            };
            xhttp.open('GET', url, true);
            xhttp.send();
        })(this);
    }
};

В конце вы можете увидеть xhttp.open ('GET' ...). Поскольку это код, который я взял из учебника, я не хочу возиться с ним, а выбираю загруженные элементы в отдельном скрипте. У меня есть страница с контейнером с идентификатором «приложение». Загруженные файлы html примерно как. php

<div><h1 id="abt">About</h1></div>
<a href="#list">List</a>

Поскольку я хочу выделить их в дополнительном файле, я не люблю использовать скрипт, подобный следующему

  $(document).on("load", function() {
    ChangeTextFunction();
  });

Вместо этого я хочу узнать, как я могу выбрать элементы из запроса, упомянутого выше, в дополнительном файле, отдельном запросе. Например, $('#abt').text("Hello");

Возможно ли это как-то? Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...