2017-04-26 68 views
0

我有一个超出我非常基本的脚本功能的请求。我有,告诉用户他们有多少天了,直到他们的密码过期消息的网站:查找给定类的div中的数字,并根据值隐藏/显示div

“John Doe的密码91天后过期”我想补充一些脚本,评估这一说法,它包含在“expiryNotice”类的div中,提取数字,并且如果大于60,则基本隐藏整个div。

我写过JS/jQuery以前做过静态修改,但从来没有任何一种逻辑,所以我有点失落,从哪里开始。

任何帮助将不胜感激!

+1

你的代码在哪里? –

+0

不知道从哪里开始,所以想通我应该不是垃圾OP与可怜的尝试。 – Josh

+0

你需要证明你目前的“到期通知”章节标记,然后人可以帮助你。如果你没有这个问题是无法回答的 –

回答

0

警告,有可能是更合理的方式去了解这方面比解析的消息格的内容,但这样会做到这一点:

$(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

美丽!这很有魅力! – 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(); 
     } 
    } 
    }); 
} 

调用此函数应该工作CheckExpiryNotice(60);

0

你可以做这样的事情在JavaScript中,如果你不希望使用JQ uery:

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