2017-04-26 3 views
0

Ich habe eine Anfrage, die über meine sehr einfache Skriptfähigkeiten hinausgeht. Ich habe eine Website mit einer Nachricht, die Benutzer angibt, wie viele Tage sie verlassen haben, bis ihr Passwort gültig bis:Finden Sie die Nummer in div der angegebenen Klasse, und verstecken/Anzeige div basierend auf Wert

„John Doe Passwort in 91 Tagen abläuft“

Ich möchte ein Skript hinzufügen, die diese Anweisung auswertet , die in einem div der Klasse "expiryNotice" enthalten ist, extrahiere die Zahl und verberge grundsätzlich das gesamte div wenn größer als 60.

Ich habe geschrieben, dass JS/jQuery statische Modifikationen vor, aber nie irgendwas mit irgendwelchen macht Art von Logik, also bin ich ein bisschen verloren mit dem, wo ich anfangen soll.

Jede Hilfe wäre sehr willkommen!

+1

Wo ist dein Code ?! –

+0

Ich wusste nicht, wo ich anfangen soll, also dachte ich, ich sollte OP nicht mit erbärmlichen Versuchen bestreiten. – Josh

+0

Sie müssen Ihr Markup für den aktuellen Abschnitt "Ablaufhinweis" anzeigen, und dann können Ihnen die Leute helfen. Wenn Sie diese Frage nicht beantworten, –

Antwort

0

Caveat, gibt es wahrscheinlich sinnvolle Möglichkeiten, um dies zu realisieren als den Text in der Nachricht div Parsen, aber das wird es tun:

$(function(){ 
 
    var msg = $('#notice').text() 
 
    var days = msg.match(/\d+/)[0] 
 
    console.log(days) 
 
    if(Number(days) > 60) { 
 
    $('#notice').hide() 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="notice">"John doe's password expires in 91 days"</div>

+0

Schön! Das hat einen Reiz bewirkt! – Josh

0
function CheckExpiryNotice(maxNum) { 
    var expiryNoticeDiv = $('.expiryNotice'); 
    var expiryNoticeStr = expiryNoticeDiv.text(); 
    $(expiryNoticeStr.split(" ")).each(function(i,e) { 
    if($.isNumeric(e)) { 
     if(e > maxNum) { 
     expiryNoticeDiv.hide(); 
     } 
    } 
    }); 
} 

Aufruf diese Funktion sollte funktionieren CheckExpiryNotice(60);

0

Sie können so etwas in Javascript tun, wenn Sie nicht jQ verwenden möchten supery:

var elem = document.getElementsByClassName('expiryNotice'); 
    var str = elem[0].innerText; 
    var days = str.match(/\d+/)[0]; 
    if (+days > 60) { 
     elem[0].hidden = true; 
    }     
Verwandte Themen