IE Javascript Error

IE Javascript Error

本文关键字:Error Javascript IE      更新时间:2023-09-26

我有这个函数在Chrome和Firefox中工作得很好,但由于某种原因,它在IE中根本不起作用。

错误信息是'无法获取未定义或空引用的属性'title' '

我相信它没有注册结果,但不知道为什么这只是IE的问题。

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对象可能是空的,所以跟踪你的代码和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>')
 ......
}

它会显示未定义或null:

所以这可能是你传递对象的方式或者任何关键字冲突之类的东西

从你给我们的继续,错误'无法获得属性'title'的未定义或null引用'可能是指你试图传递'r'的对象。设置'title'变量时,对'r'的第一个引用是r.title。

'r'没有被定义、创建或传递给*create_the_list_item*。

你使用它的方式应该是:

r = { title : 'my title', 
      county: 'my county'}