Как определить класс ссылки в моем JavaScript? - PullRequest
1 голос
/ 15 июня 2011

Привет, у меня есть этот скрипт:

function ajax(){
    if (navigator.standalone) return;
    for (var i= document.links.length; i-->0;) {
        document.links[i].onclick= function() {
            var req= new XMLHttpRequest();
            req.onreadystatechange= function() {
                if (this.readyState!==4) return;
                document.body.innerHTML= this.responseText;
                ajax();
            };
            req.open('GET', this.href, true);
            req.send();
            return false;
        };}
    }



window.onload= function() {
    window.scrollTo(0, 0.9);
    ajax();

};

Теперь я просто хочу добавить 1 маленькую вещь. Если ссылка имеет класс noeffect, ajax не должен выполняться (должна загружаться другая страница). Я пробовал что-то, но я не достаточно хорош с javascript, чтобы получить это право:

function ajax(){
    if (navigator.standalone) return;
    for (var i= document.links.length; i-->0;) {
        if (document.links[i].getAttribute("class") == "noeffect") return;
        document.links[i].onclick= function() {
            var req= new XMLHttpRequest();
            req.onreadystatechange= function() {
                if (this.readyState!==4) return;
                document.body.innerHTML= this.responseText;
                ajax();
            };
            req.open('GET', this.href, true);
            req.send();
            return false;
        };}
    }



window.onload= function() {
    window.scrollTo(0, 0.9);
    ajax();

};

Полагаю, он проверяет все ссылки, а не каждую, но я не знаю, как правильно это кодировать. : S

1 Ответ

0 голосов
/ 15 июня 2011

Разобрался!

function ajax(){
    if (navigator.standalone) return;
    for (var i= document.links.length; i-->0;) {
        document.links[i].onclick= function() {
            if(this.getAttribute("class") == "noeffect") return;
            var req= new XMLHttpRequest();
            req.onreadystatechange= function() {
                if (this.readyState!==4) return;
                document.body.innerHTML= this.responseText;
                ajax();
            };
            req.open('GET', this.href, true);
            req.send();
            return false;
        };}
    }



window.onload= function() {
    window.scrollTo(0, 0.9);
    ajax();

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