显示隐藏的div如上所述,默认情况下,div使用CSS隐藏。我有这个脚本到目前为止:试图根据今天的日期第一个JS项目
<script type="text/javascript">
function makeDate(){ // makes the date and defines "today" variable for data-display-before" and "data-display-after" to work. also logs todays date to console for troubleshooting
var now = new Date();
var day = now.getDate();
var month = now.getMonth()+1;
today = month+"-"+day;
var x = document.querySelectorAll(".date-display-after").getAttribute();
var y = document.querySelectorAll(".date-display-before").getAttribute();
console.log("the date today in MM/DD format is "+today); //for troubleshooting
if (today >= x && today <= y){ //the juicy bit
document.getElementById(".hidden").style.display = 'block';
}
}
//setInterval("makeDate()", 3000);
</script>
我怀疑这是行不通的,因为我不能比较整数与字符串?无论是这个问题还是语法问题。我试图遵循一个答案,我曾在一个相关的帖子,上面写着“有问题的两个属性添加到的div像数据显示后数据显示之前,例如:
<div id="valentines"
data-display-after="2016-02-14 00:00:00"
data-display-before="2016-02-15 00:00:00">...Hide these divs initially (with CSS).
在页面负载转换当前日期(新日)到上述格式。
对于文件,有数据显示,前属性的每个元素(你需要querySelectorAll),比较属性值(的getAttribute)和
if currentDate >= data-display-after && currentDate <= data-display-after,
then show the element."
我希望得到一些关于如何最好地处理变量的建议ES。继承人的HTML是什么样子:
<body onload="makeDate()">
<div class="occasion" id="hidden" date-display-after="02-01" date-display-before="02-15">
<div class="textbox"><h5>Valentines day</h5><p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime nobis non veritatis quaerat eveniet, necessitatibus, assumenda alias in voluptatum eius voluptate beatae doloribus sed rem officiis ullam perspiciatis earum, aliquam.</span>
<span>Incidunt officiis eligendi quisquam debitis! Vitae voluptates cum architecto culpa voluptatum nam excepturi laborum. Omnis quasi aut ea explicabo, porro quisquam reiciendis animi, mollitia, et error earum tempora, ad asperiores.</span>
<span>Commodi necessitatibus et atque odio eos, itaque quaerat, unde animi, provident deserunt quisquam fugit porro fugiat blanditiis quibusdam culpa quo deleniti molestiae numquam dignissimos alias! Inventore libero incidunt, alias possimus!</span></p></div>
<div class="picture"></div>
的DIV应该是今天可见的,因为控制台输出:
the date today in MM/DD format is 2-5
有趣的问题。我看到的一个问题是,你可能意味着使用querySelectorAll(“。occasion”)来获取所有场合,然后每次使用getAttribute获取after和before日期 - 因为你的x和y变量是空的。 –
'document.getElementById(“。hidden”)'不正确。它应该是'document.getElementById(“隐藏”)'。 –
感谢Jason的回复,我编辑了上面的代码,仍然没有运气。 –