JavaScript字符串替换IE问题

时间:2011-09-26 16:37:06

标签: javascript string internet-explorer-8 replace

这个简单的代码在FF和Chrome中运行良好......但在IE8中不行:

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

给出:

  

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

我也试过这样的事情:

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

和同样的错误!

我在这个项目中使用jQuery。

2 个答案:

答案 0 :(得分:3)

IE上的 pathtop很可能是null,因为jquery find / attr链失败了。将其拆分为多个部分,找出哪个图层($('#autoplay'),.find().attr()返回null。

随意猜测 - IE忽略了嵌入标签,转而支持<object>,因此DOM树中没有嵌入。并且你试图得到一个不存在的dom对象的src,使pathtop为null,这意味着没有可用的替换方法。

答案 1 :(得分:0)

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