IE Javascript错误
我有这个功能,在Chrome和Firefox中运行良好,但由于某些原因,它在IE中根本不起作用 错误消息是“无法获取未定义或空引用的属性”title“ 我相信这不是注册结果,但不知道为什么这只是IE的问题IE Javascript错误,javascript,jquery,internet-explorer,Javascript,Jquery,Internet Explorer,我有这个功能,在Chrome和Firefox中运行良好,但由于某些原因,它在IE中根本不起作用 错误消息是“无法获取未定义或空引用的属性”title“ 我相信这不是注册结果,但不知道为什么这只是IE的问题 function create_the_list_item(r){ var title = $('<h3 />',{'class':'title'}).html('<span class="icon-location location">'+r.
function create_the_list_item(r){
var title = $('<h3 />',{'class':'title'}).html('<span class="icon-location location">'+r.title+(r.miles?(' <span style="font-size:75%">('+r.miles+' miles away)</span> '):'' )+' </span>')
var add = $('<div />',{'class':'address left'}).html(
'<p>'+(r.address_line_1+'<br/> ' ) +
(r.address_line_2?(r.address_line_2+'<br/> '):'' ) +
(r.county?(r.county + '<br/> '):'') +
(r.country?r.country + '<br/> ' :'') +
(r.post_code?r.post_code :'')+'</p>'
);
var website = $('<div />',{'class':'right'}).html(
(r.website?('<a href="http://'+r.website.replace('http://','')+'" target="_blank">Visit Website</a><br/><br/>' ):'')+
(r.website?(r.telephone_number ):'')
)
return ($('<div />',{'class': 'the_shop_list clearfix'})
.data('longitude',r.longitude)
.data('latitude',r.latitude)
.data('title',r.title)
.data('tel',r.telephone_number)
.data('website',r.website)
.append(title).append(add).append(website)
)
}
函数创建列表项(r){
var title=$('',{'class':'title'}).html(''+r.title+(r.miles?('+r.miles+'miles away')):'')+'')
var add=$('',{'class':'address left'}).html(
“”+(r.address_line_1+”
)+
(r.地址线2?(r.地址线2+“
”):“”)+
(r.county?(r.county+“
”):“”)+
(r.country?r.country+“
”:”+
(r.post\U代码?r.post\U代码:“”)+''
);
var网站=$('',{'class':'right'}).html(
(r.website?(“
”):”)+
(r.网站?(r.电话号码):“”)
)
返回($('',{'class':'the_shop\u list clearfix'})
.数据('经度',r.经度)
.数据('纬度',r.纬度)
.数据('标题',右标题)
.数据('电话',r.电话号码)
.数据('网站',r.网站)
.append(标题).append(添加).append(网站)
)
}
根据您提供给我们的信息,错误“无法获取未定义或空引用的属性”title“可能是指您试图传递“r”的对象。设置“title”变量时,对“r”的第一个引用是r.title
“r”未按您的预期定义、创建或传递给*创建\列表\项*
它们是您使用它的方式r应该是这样的:
r = { title : 'my title',
county: 'my county'}
这意味着您的
r
对象可能为空,因此请追溯您的代码和console.log()
以查看发生了什么
如果您尝试:
function create_the_list_item(r){
console.log(r)
var title = $('<h3 />',{'class':'title'}).html('<span class="icon-location location">'+r.title+(r.miles?(' <span style="font-size:75%">('+r.miles+' miles away)</span> '):'' )+' </span>')
......
}
函数创建列表项(r){
console.log(r)
var title=$('',{'class':'title'}).html(''+r.title+(r.miles?('+r.miles+'miles away')):'')+'')
......
}
它会说一些类似未定义或null的内容:
因此,这可能是您传递对象的方式或任何关键字冲突或类似的性质。您会遇到什么错误?IE是否会产生错误?如果是,错误是什么?你说的“它不工作”是什么意思?描述你想要的行为和你期望的行为。控制台有错误吗?哪个IE版本?我们仍然没有得到版本:)那么你作为
r
传递的是什么?