Javascript IE拼接和连接问题

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

我正在使用此代码更改图像的标题

基本上,它应该拆分破折号(总是至少有一个破折号),并将第一部分作为标题,其余的破折号作为描述

这在FF中运行良好,但在IE中不起作用(在v8中测试),它在描述行上给出“对象不支持此属性或方法”

我尝试了所有的测试,但IE只是不喜欢拼接后的部件[0]。有什么想法吗

$('.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标记是不允许/有效的