jQuery从Alt添加图像标题属性

时间:2015-04-21 06:55:46

标签: javascript jquery css image attributes

jQuery('img').each(function() {
    jQuery(this).attr('title', jQuery(this).attr('alt'));
})

如何修改上面的代码,以便它只应用alt的title属性,如果它还没有title属性?换句话说,如果图像已经具有非空标题属性,则不应执行此代码。

6 个答案:

答案 0 :(得分:3)

jQuery('img').each(function () {
    $this = $this;
    if (!$this.attr('title') && $this.attr('alt')) {
        $this.attr('title', $this.attr('alt'));
    }
})

答案 1 :(得分:0)

jQuery('img:not([title!=""][title])').each(function() {
    jQuery(this).attr('title', jQuery(this).attr('alt'));
})

您可以使用此选择器来处理存在或不存在img属性的所有title标记,如果存在,则应为empty

答案 2 :(得分:0)

使用条件检查'alt'属性是否存在:

if (jQuery(this).attr('alt') != undefined) {
    jQuery(this).attr('title', jQuery(this).attr('alt'));
}

答案 3 :(得分:0)

<强> JS

jQuery('img').each(function() {
    var jq=jquery(this)
    var title= jq.attr('title');
     if(title == undefined)
       jq.attr('title', jq.attr('alt'));
});

答案 4 :(得分:0)

您也可以使用.attr()的setter版本,如

jQuery('img').attr('title', function () {
    if (!this.title) {
        return this.alt
    }
})

演示:Fiddle

答案 5 :(得分:0)

这应该可以解决问题。

jQuery('img').each(function () {
    var $el = jQuery(this),
        title = $el.attr('title'),
        alt = $el.attr('alt');
    if (title === undefined || title == '' || alt === undefined || alt == '')
        return;

    $el.attr('title', alt);
});

上面的代码将跳过所有具有空或未定义标题或alt属性的图像。