2016-10-05 10 views
0

Ich möchte bestimmte Elemente mit Javascript verstecken. Konkret möchte ich dieses Element nur anzeigen, wenn die URL den Text 'cli' enthält. Ich habe versucht, dass im nächsten CodeElement mit JavaScript verstecken

var regex = window.location.href; 
 
if(regex.indexOf('cli')>-1){ 
 
$(window).load(function() { 
 
    $("[routerlinkactive]")[1].remove(); 
 
}); 
 
}

Die routerlnkactive Teile arbeitet separatedly. Das heißt, wenn keine if-Anweisung geschrieben wird, wird sie immer entfernt. Aber ich möchte, dass das nur mit dieser URL funktioniert. Wie könnte ich das tun?

Nicht weder mit xxx.html oder mit xxx.html? Cli = 30

Danke zu arbeiten scheinen.

Antwort

2

versuchen Sie es mit der indexOf() -Funktion. So etwas wie

var regex = window.location.href; 
if(regex.indexOf('cli')>-1){ //if cli is there 
     $("[routerlinkactive]")[1].hide(); //hide 
    } 

Es wird -1 zurück, wenn nicht gefunden, und wird die Zeichenfolge Positionsnummer zurück, wenn gefunden (beginnend bei 0).

Auch sollten Sie verwenden, um zu verbergen, nicht zu entfernen.

UPDATE:

da Sie sagen, es ist immer noch nicht funktioniert, ich habe gerade überprüft, und das funktioniert:

var regex = "xxxxxx.com?cli=50"; 
if(regex.indexOf('cli')>-1){ 
    alert(true); 
}else{ 
    alert(false); 
} 

So ersetzen alert() mit der Haut() -Funktion und sicherstellen, dass die HTML wird korrekt referenziert (obwohl Sie gesagt haben, dass das funktioniert, okay?). Und der Wert von Regex sollte window.location.href sein. Versuchen Sie, "CLI" hinzuzufügen und zu entfernen, und Sie werden den Unterschied sehen.

+0

scheint nicht zu funktionieren. Es tut dasselbe mit xxxx.html und mit xxxx.html? Cli = 30 Und ich benutze entfernen, da die Funktion hide() von Jquery schien nicht zu funktionieren – user6375350

+0

Bitte aktualisieren Sie Ihren Code in Frage und krank zu nehmen ein Blick. –

+0

Ich habe meine Antwort aktualisiert, um beim Debuggen zu helfen. –

0

Remove() ist nicht die richtige Wahl, die das Element aus dem DOM entfernen wird.

Verwenden Sie hide() und show().

$(document).ready(function(){ 
    //Hide your element by default on page load 
    $("[routerlinkactive]")[1].hide(); 
    if(window.location.href.indexOf("cli") > -1) { 
     //If URL has "cli" then show that element. 
     $("[routerlinkactive]")[1].show(); 
    } 
}); 

Reference of indexOf()

Verwandte Themen