Frage

Ich versuche zur Zeit eine Verbindung mit dem folgenden jQuery-Selektor zu deaktivieren:

$("a[href$=/sites/abcd/sectors]").removeAttr("href");

Das Problem ist, dass manchmal könnte die href nicht immer niedriger Fall sein, auf der Seite. Wenn dies der Wähler nicht mehr passiert, entspricht.

Wer weiß, wie dies zu umgehen? Kann ich das einmal das Verhalten ändern Fall zu ignorieren?

War es hilfreich?

Lösung

Ich lief in diesen selbst. Ich schaltete das ein wenig Logik, mir zu erlauben, ohne Fall zu vergleichen. Es erfordert ein wenig mehr Arbeit, aber zumindest funktioniert es.

$('a').each(function(i,n) {
    var href = $(n).attr("href");
    href = href.toLowerCase();
    if (href.endsWith('/sites/abcd/sectors'))
        $(n).removeAttr('href');
});

Sie müßten Ihre eigene endsWith Logik herauszufinden.

Andere Tipps

wurde jQuery gebaut erweitert werden. Sie können es Ihre eigene Art von Groß- und Kleinschreibung Selektor korrigieren oder ergänzen.

Rick Strahl: Mit jQuery Inhalt und das Erstellen von benutzerdefinierten Selector Filter suchen

Sie können verwenden Funktion in jQuery "ist". Es wird nicht zwischen Groß- und Kleinschreibung.

   $("a").each(function() {
     if ($(this).is("a[href$=/sites/abcd/sectors]")) {
       $(this).removeAttr('href');
     }
   })

Zunächst ist dies NOT VALID Ausdruck, da es enthält \,

Wenn Sie eine der Meta-Zeichen verwenden (wie !"#$%&'()*+,./:;<=>?@[\]^``{|}~) als

ein wörtlicher Teil eines Namen, müssen Sie das Zeichen mit zwei Schrägstrichen entkommen. \\

Src: http://api.jquery.com/category/selectors/

Sie müssen also die / entkommen \\/

, damit Ihr Ausdruck wird $("a[href$=\\/sites\\/abcd\\/sectors]").removeAttr("href");

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top