Javascript IE拼接和连接问题
我正在使用此代码更改图像的标题 基本上,它应该拆分破折号(总是至少有一个破折号),并将第一部分作为标题,其余的破折号作为描述 这在FF中运行良好,但在IE中不起作用(在v8中测试),它在描述行上给出“对象不支持此属性或方法” 我尝试了所有的测试,但IE只是不喜欢拼接后的部件[0]。有什么想法吗Javascript IE拼接和连接问题,javascript,jquery,Javascript,Jquery,我正在使用此代码更改图像的标题 基本上,它应该拆分破折号(总是至少有一个破折号),并将第一部分作为标题,其余的破折号作为描述 这在FF中运行良好,但在IE中不起作用(在v8中测试),它在描述行上给出“对象不支持此属性或方法” 我尝试了所有的测试,但IE只是不喜欢拼接后的部件[0]。有什么想法吗 $('.right ul li img').each(function() { parts = $(this).attr('title').split('-'); title = $.trim(par
$('.right ul li img').each(function() {
parts = $(this).attr('title').split('-');
title = $.trim(parts[0]);
parts.splice(0, 1);
description = $.trim(parts.join('-'));
title = '<strong>' + title + '</strong><br />' + description;
$(this).attr('title', title);
});
$('.right ul li img')。每个(函数(){
parts=$(this.attr('title').split('-');
标题=$.trim(部分[0]);
零件。拼接(0,1);
description=$.trim(parts.join('-'));
title=''+title+'
'+说明;
$(this.attr('title',title);
});
您是否尝试过调试它,以便检查“部件”以查看它包含的内容?两条线之间的警报(部件)将是一个开始
旁注:您正在定义全局变量、部分、标题、描述,其中可能需要局部变量。尝试使用“var”关键字,例如:
var parts = 6;
var notparts = 7;
$('.right ul li img').each(function() {
parts = ["a", "b"];
// ...
var notparts = "foo";
// ...
});
alert(parts); // => "a, b" alerted
alert(notparts); // => "7" alerted
不确定错误,但这里有一个替代方案:
$('.right ul li img').attr('title', function() {
var parts = this.title.match(/^([^-]+)-?(.*)/);
if (parts)
return "<strong>" + $.trim(parts[1]) + "</strong><br />" + $.trim(parts[2]);
else
return this.title;
});
$('.right ul li img').attr('title',function(){
var parts=this.title.match(/^([^-]+)-?(.*)/);
如有(部分)
返回“”+$.trim(零件[1])+”
“+$.trim(零件[2]);
其他的
返回此.title;
});
旁注:我认为title属性中的HTML标记是不允许/有效的