2012-11-24 96 views
0

我在以下几个页面中具有以下代码。删除TD元素的img标签,同时更改样式的bgcolor标签值

<td bgcolor="#017842" height="4"><img src="images/pix.gif" border="0" width="1" height="1" /></td> 

,将取代

<td height="4" style="line-height: 4px; background-color:#017842;"></td> 

实际看到不同的看法,我需要为与IMG SRC值的值的每个IMG标记为=“图像/ pix.gif”删除父元素,但添加到父元素的样式属性的line-height型前..

我试图与解决方案张贴在这里 Using jQuery each to replace image source

,但我无法解决...

如果你理解不好,我希望我解释正确。

谢谢!

+3

第一个代码片段是否正确? 'td'上的'src'属性? –

+1

删除'bgcolor'并在TD上切换类而不是内联样式,更易于更改 – charlietfl

+1

向我们展示您正在尝试编写的代码,您从增强代码中学到更多东西,本网站不适用于人为你建立代码 – charlietfl

回答

2

我建议:

$('td img').filter(function(){ 
    return $(this).attr('src') == 'images/pix.gif'; 
}).parent().css({'line-hight' : '4px', 'background-color' : '#017842'}).removeAttr('bgcolor').find('img').remove(); 

JS Fiddle demo

+0

我试过你的代码,并做了一些修改,以便使更多的可见变化 我试过你的代码,但图像仍然存在。 http://jsfiddle.net/yN55x/1/ –

+0

两点:* first * td'元素只有在它是'tr'元素的子元素时才有效(反过来需要'tbody','tfoot ','thead'或者至少一个'table'元素作为那个'tr'的父亲出现)。 *其次* jQuery不能在JS Fiddle上运行*除非您从左侧的下拉菜单中选择'jQuery'。 –

+0

哦!..我的坏!! ...你是对的大卫,谢谢并为我的非审查快速坏回应道歉... –

0

如果你定义了id,那么它很简单;

$("#tdImg").empty(); 

另一个与方案 - 展():

$("#tableId tr").each(function() { 
      $(this).find("img").each(function() { 
       $(this).show(); 
      }); 
     }); 

方案与隐藏():

$("#tableId tr").each(function() {  
      $(this).find("img").each(function() {     
       $(this).hide(); 
      }); 
    }); 

此外,我们可以使用删除()如果需要使用$删除图像(this).remove()