TypeError: MeineLinks[i].search is not a function debugger eval code:1:218

  • Guten Abend zusammen,

    mein Script, soll alle links durchgehen, wenn ein link, das Wort "abmelden" enthält, dann soll es auf diesen link geklickt werden.

    Dazu habe ich mir folgenden Code geschrieben, wenn ich die in Firefox Konsole eingeben, bekomme die Fehlermeldung: TypeError: MeineLinks[i].search is not a function debugger eval code:1:218




    Mache ich da was falsch oder wird das, so wie ich es mir vorstelle nicht funktionieren.?

    vielen Dank, schon mal im Voraus.


    Code
    var raus = "abmelden"
    var MeineLinks = document.links; 
    for (var i = 0; i < MeineLinks.length; i++ ) {
    var treffer = MeineLinks[i].search(raus); 
    if (treffer >= 0){
    MeineLinks[i].click();
    break;
    };
    
    };
  • Ok, vielen Dank!

    Nun, so richtig Ahnung von der Sache habe ich nicht,

    Wenn search für Strings ist und MeineLinks[i] ein Array(?) ist, muss ich dann die Funktion find() nutzen?

    Aber mit mit find() funktioniert auch nicht.


    Wenn ich so mache:

    var myStr = MeineLinks[i]; var treffer = myStr.search(raus); 

    ist es jetzt ein String? Entschuldigte, falls meine annahmen kein Sinn ergeben.

  • Wenn ich so mache:

    JavaScript
    var myStr = MeineLinks[i]; var treffer = myStr.search(raus); 

    ist es jetzt ein String?

    Nö. Ist ja nichts anderes als du zuvor benutzt hast:

    JavaScript
    var treffer = MeineLinks[i].search(raus);
    // IST GLEICH WIE:
    var treffer = myStr(MeineLinks[i]).search(raus);



    Links mit "abmelden", wird es wohl nicht viele geben. Da ist es besser, denen eine Klasse zuzuweisen, anstatt alle Links auf der Seite abzuklappern.

    Aber um jetzt zurück zu deiner Frage zu kommen, einen brauchbaren String bekommst du z.B. mit dem Inhalt der Links:

    JavaScript
    MeineLinks[i].innerHTML

    Weiter kannst du dann wie bereits gemacht mit search arbeiten.

    Da ich aber davon ausgehe, das die betroffenen Links auch nur ein "abmelden" als Inhalt haben, wäre eine Suche hier unnötig:

    JavaScript
    // Also NICHT...
    if(MeineLinks[i].innerHTML.search(raus) != -1)
    
    // ... sondern
    if(MeineLinks[i].innerHTML == "abmelden")

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!