这个简单的代码可以在FF和Chrome中正常工作,但在IE8中则不能:

var pathtop = $('#autoplay').find('embed').attr('src');
pathtop = pathtop.replace('http://www.youtube.com/v/', '');


给出:


  'undefined'为null或不是第2行上的对象错误


我也尝试过这样的事情:

pathtop = pathtop.replace('', '');


和同样的错误!

我在这个项目中使用jQuery。

最佳答案

IE上的pathtop最有可能为null,因为jquery查找/属性链失败。将其分成几部分,找出哪一层($('#autoplay'),.find().attr()返回空值。

临时猜测-IE忽略了嵌入标签,而支持<object>,因此DOM树中没有嵌入。并且您试图获取不存在的dom对象的src,将pathtop设置为null,这意味着没有可用的replace方法。

10-08 01:10