Javascript IE8上的循环问题
嗨,我有这个javascript函数Javascript IE8上的循环问题,javascript,jquery,Javascript,Jquery,嗨,我有这个javascript函数 function test(){ var count = 0; var date1 = $('#alternatestartdate').val(); var date2 = $('#alternateenddate').val(); var startDate = new Date(date1); var
function test(){
var count = 0;
var date1 = $('#alternatestartdate').val();
var date2 = $('#alternateenddate').val();
var startDate = new Date(date1);
var endDate = new Date(date2);
var loop = true;
while (loop)
{
$('#pa').append('first test');
if (startDate<=endDate)
{
$('#pa').append('second test');
loop = true;
}
startDate.setDate(startDate.getDate()+1);
}
else
{
loop = false;
}
}
}
功能测试(){
var计数=0;
var date1=$('alternatestartdate').val();
var date2=$('#alternateenddate').val();
var startDate=新日期(日期1);
var endDate=新日期(日期2);
var循环=真;
while(循环)
{
$('#pa')。追加('第一次测试');
如果(startDate,问题可能是IE没有采用您输入的日期格式,因为您的代码在其他浏览器上正常工作
为了避免这种情况,我建议您解析日期字符串,提取其中的数字部分,并使用
Date
构造函数可以采用以下参数
new Date(year, month, day, hours, minutes, seconds, ms);
时间为天
,小时
,分钟
,秒
和毫秒
可选
但是您应该记住从月数中减去1
,因为它们是以0为基础的(0=1月,2=2月,…11=12月)
当然,您可以使用我不久前创建的函数,它完成所有工作,您可以指定一种格式来解析日期,例如:
var date = parseDate('09-26-2010', 'mm-dd-yyyy');
你检查过你的代码结构了吗…你的else似乎没有if
功能测试()
{
var计数=0;
var date1=$('alternatestartdate').val();
var date2=$('#alternateenddate').val();
var startDate=新日期(日期1);
var endDate=新日期(日期2)
var循环=true;
while(循环)
{
$('#pa')。追加('第一次测试');
如果(StartDate实际结构是正确的。很抱歉,我在简化本论坛中询问的代码时犯了错误。np,我们都会不时这样做:)
var loop = true;
while (loop)
{
$('#pa').append('first test');
if (startDate<=endDate)
{
$('#pa').append('second test');
loop = true;
}
startDate.setDate(startDate.getDate()+1);
}
else
{
loop = false;
}
}
}