Javascript JS setattribute不是一个函数-Firefox、chrome
我有一个JavaScript函数:Javascript JS setattribute不是一个函数-Firefox、chrome,javascript,asp.net,Javascript,Asp.net,我有一个JavaScript函数: function Test(isValid) { var divStart = $get('divDateFrom'); var divEnd = $get('divDateTo'); var txtStartDate = divStart.firstChild; var txtEndDate = divEnd.firstChild; var isValidFromForecastStartDate; t
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中运行良好,但在Firefox和Chrome中出现“txtEndDate.setattribute
不是函数”错误。使用like
已更新可能有多个元素
,因此对第一个元素使用[0]
,如
txtEndDate[0].setAttribute('dateInRegionalFormat', txtEndDate.value);
在设置属性之前,您应该首先检查元素是否存在
if(txtEndDate.length)
{
txtEndDate.setAttribute('dateInRegionalFormat', txtEndDate.value);
}
你可以这样做:
txtEndDate['dateInRegionalFormat'] = txtEndDate.value;
代替旧代码:
txtEndDate.setAttribute('dateInRegionalFormat', txtEndDate.value);
我最近也遇到过同样的问题。试着去掉“.value”部分。它可能对你有用
txtEndDate.setAttribute('dateInRegionalFormat', txtEndDate);
这是Java脚本,所以如果您可以用Java脚本提供解决方案,那就太好了。Thanks@SyedKalim查看我的更新答案,或者你能在fiddle上做一个在线演示吗?@RohanKumar first child只返回一个元素而不是元素数组。那么解决方案是什么?@Rohan,,,,txtEndDate[0]。setAttribute('dateInRegionalFormat',txtEndDate.value);这是抛出异常…我不知道为什么?SetAttribute应该工作,请检查您是否在“txtEndDate”中得到正确的对象您可以发布您的整个代码在Js小提琴请
txtEndDate.setAttribute('dateInRegionalFormat', txtEndDate);