根据每个图像名称添加带有jquery的标题标记

时间:2013-04-16 15:45:26

标签: jquery title

我想使用jquery将标题标签添加到ls-thumb-active类中,我用它来了解它:

<script type='text/javascript'>//<![CDATA[ 
$(window).load(function(){
tooltip = "mouseover";

$('.ls-thumb-active').attr('title', tooltip);

$('.displaytitle').html($('.ls-thumb-active').attr('title'));
});//]]>  

</script>

问题是,我希望它将实际的img名称显示为工具提示变量,而不是最后的.jpg。这可能吗?

5 个答案:

答案 0 :(得分:3)

您可以使用以下内容取出图像名称的“.jpg”部分,这样您就可以在获得的名称后删除任何扩展名:

var imageName = imageElementYouAreGettingSomewhere.src;
imageName = imageName.substr(0, imageName.lastIndexOf('.'));

$('.displaytitle').attr('title', imageName );

答案 1 :(得分:2)

您可以通过“拆分”您的img名称轻松完成此操作。所以我们假设var图像是你的图像名称,如下所示:

var image = 'something_unusual.jpg';

您可以获得如下图像名称:

var image_name = image.split('.')[0];

然后,当然,您添加它的方式与第一次相同:

$('.ls-thumb-active').attr('title', image_name);

请注意,我使用方法“split”,它将图像名称分隔为“。”。因此,如果图像由于某种原因,作为“。”以他的名义,这可能会破裂。您还可以使用最后一个点的索引进行子串,拼接等。但在该示例中,如果图像名称中没有点,则无论文件扩展名是什么,它都将完美地工作。 希望这会有所帮助。

答案 2 :(得分:1)

由于每张图片都需要这样,因此您需要遍历所有图像并设置title属性。

$('.ls-thumb-active').each(function() {
    var imgName = $(this).attr('src').split('.')[0];
    $(this).attr('title', imgName );
});

答案 3 :(得分:0)

由于扩展名为:

  • .JPG
  • .PNG
  • .gif注意

您可以使用子字符串在末尾剪切四个字符并添加到标题中。

$('.ls-thumb-active').attr('title', substr(tooltip, 0, strlen(tooltip) - 4));

答案 4 :(得分:0)

使用此代码:

<script type='text/javascript'>
jQuery(document).ready(function($) {
    tooltip = "mouseover";
    thumActive = $('.ls-thumb-active'); // Cached object
    // Get the source name of the image
    thumbImageSrc = $('.target-of-the-image').attr("src");
    // To slice from the last '/' if there is no '/' then slice from the very start
    thumbImageNameFirstSlice = ( thumbImageSrc.lastIndexOf( '/' ) ? thumbImageSrc.lastIndexOf( '/' ) + 1 : 0 );
    // And will slice to the last '.'
    thumbImageName = thumbImageSrc.slice( thumbImageNameFirstSlice, thumbImageSrc.lastIndexOf( '.' ) );
    // Your code =)
    thumActive.attr('title', tooltip);
    // Assign the name to the '.displaytitle'
    $('.displaytitle').html( thumbImageName );
});
</script>

有一个jsFiddle:http://jsfiddle.net/Np6FG/1/