获取最接近的img标题并设置为字段标题

时间:2013-01-15 07:01:13

标签: jquery

我将通过一个例子来解释我的问题:

这是我的HTML代码:

<td>Name<a href="http://manual"><span><img src="x" width="15" title="The name></span></a></td>
<td><input type="text" name="name" maxlength="80" size="93" ></td>

我想要做的是获取最接近我的输入字段的img标题,并将其设置为字段标题。目的是基本检查所有页面的表单字段,如果标题尚未设置,则将最接近的图像标题设置为标题。

到目前为止我做了什么:

$('form').find(':input').each(function(){
    if(!$(this).attr('title') && $(this).attr('type') != "hidden" ){

        var title = $(this).siblings('td').find("img").attr("title");
        $(this).attr('title', title);

    }
});

但没有成功。如果有人可以帮我解决这个问题,我将不胜感激。

谢谢,

5 个答案:

答案 0 :(得分:1)

$('form').find(':input').each(function(){
    if(!$(this).attr('title') && $(this).attr('type') != "hidden" ){
        var title = $(this).closest("tr").find('td').find("img").attr("title");
        $(this).attr('title', title);

    }
});

答案 1 :(得分:1)

你可以这样做:

    $('form').find(':input').each(function(){
       var image = $(this).closest('tr').find('img');
    });

这将搜索最近的tr标签并搜索其中的图像。

答案 2 :(得分:1)

$('form').find(':input').each(function(){
    if(!$(this).attr('title') && $(this).attr('type') != "hidden" ){
        var title = $(this).parents('td').prev().find('img').attr('title');
        $(this).attr('title', title);

    }
});

答案 3 :(得分:1)

$('form').find(':input').each(function(){
    if(!$(this).attr('title') && $(this).attr('type') != "hidden" ){
        var title = $(this).closest("tr").find("img").attr("title");
        $(this).attr('title', title);   
    }
});

答案 4 :(得分:1)

首先,查找没有标题的所有表单输入,这些输入不是隐藏的。然后搜索当前行中的img并复制它的标题

$('form :input:not([title]):not([type="hidden"])').each(function() {
  var title = $(this).closest('tr').find('img').attr('title');
  $(this).attr('title', title);
});

JSFiddle进行测试。