17

我有这个 JavaScript 函数:

function Test(isValid) {    
    var divStart = $get('divDateFrom');
    var divEnd = $get('divDateTo');
    var txtStartDate = divStart.firstChild;
    var txtEndDate = divEnd.firstChild;
    var isValidFromForecastStartDate;
    txtEndDate.setAttribute('dateInRegionalFormat', txtEndDate.value);
}

此函数在 IE 中运行良好,但txtEndDate.setattribute在 Firefox 和 Chrome 中出现“不是函数”错误。

4

3 回答 3

31

使用jquery.attr() 之类的,

$(txtEndDate).attr('dateInRegionalFormat', txtEndDate.value);

更新有可能multiple elements这么用[0]first element类的,

txtEndDate[0].setAttribute('dateInRegionalFormat', txtEndDate.value);

你应该首先检查它的elements exists or not前面是否setting attribute像,

if(txtEndDate.length)
{
   txtEndDate.setAttribute('dateInRegionalFormat', txtEndDate.value);
}
于 2013-10-29T05:59:28.390 回答
5

你可以这样做:

txtEndDate['dateInRegionalFormat'] = txtEndDate.value;

而不是旧代码:

txtEndDate.setAttribute('dateInRegionalFormat', txtEndDate.value);
于 2015-03-11T13:08:43.253 回答
0

我最近遇到了同样的问题。尝试摆脱“.value”部分。它可能对你有用。

txtEndDate.setAttribute('dateInRegionalFormat', txtEndDate);
于 2021-02-04T05:43:25.973 回答