我将通过一个例子来解释我的问题:
这是我的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);
}
});
但没有成功。如果有人可以帮我解决这个问题,我将不胜感激。
谢谢,
答案 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进行测试。