2016-10-27 3 views
0

Ich finde keine Lösung, vielleicht ist es nicht möglich mit jquery?div/span Inhalt durch URL-Zugabe ändern?

Mein Plan: Ich habe einige divs wie folgt aus:

<div> 
    <span class="en">Hello</span> 
    <span class="de">Hallo</span> 
</div> 
<div> 
    <span class="en">Whats up?</span> 
    <span class="de">Wie geht´s?</span> 
</div> 

aso.

Also, wenn meine URL nur www.domain.com/... ist, sollte nur der "en" -Content angezeigt werden. Wenn die URL www.domain.com/de/... lautet, sollte nur der "de" -Inhalt angezeigt werden. Ist das mit jQuery möglich?

Antwort

4

Man könnte so etwas tun:

var url = window.location.href; //Get URL 

if (url.includes("/de/")) { //If URL Contains /de/ 
    $('.en').hide(); 
} else { 
    $('.de').hide(); 
} 

EDIT:

Wenn Sie nicht includes wegen Browser-Unterstützung (als FlatLander weist in seiner Antwort verwenden möchten, includes ist ES6), dann können Sie indexOf verwenden:

var url = window.location.href; //Get URL 

if (url.indexOf("/de/") !== -1) { //If URL Contains /de/ 
    $('.en').hide(); 
} else { 
    $('.de').hide(); 
} 
+0

Ah, groß, das klingt gut - einfach und schön. Vielen Dank! – Pepe

+0

Thx für das Update! – Pepe

2

Cross-Browser-Unterstützung

includes ist in jedem Browser so nicht verfügbar versuchen indexOf

var url = window.location.href;  

if (url.indexOf("/de/") !== -1) { //If URL Contains /de/ 
    $('.en').hide(); 
} else { 
    $('.de').hide(); 
} 

includes ist ein es6 Merkmal https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/includes#Browser_compatibility

+0

Ouh, ok, großes Danke für die Info! Ich werde es auch versuchen! – Pepe

+0

Ich würde sicherstellen, dass die Schrägstriche in Ihrem 'indexOf' enthalten sind. Mit diesem Code würde eine Seite mit dem Namen 'destination.html'' true' werfen, weil sie 'de' enthält. – Santi

+0

Sorry verpasste, dass: P – FlatLander