0

我们有一个这样的 HTML 时事通讯....

<table width="600">
<tr>
  <td>
     Text
  </td>
</tr>
<tr>
  <td>
     <img src="demo.jpg" width="200" height="200"/>
  </td>
</tr>
<tr>
  <td style="font:arial;">
     <img src="demo.jpg" width="200" height="200"/>
  </td>
</tr>
<tr>
  <td style="font:arial;">
   <a href="#">
     <img src="demo.jpg" width="200" height="200"/>
   </a>
  </td>
</tr>
</table>

我需要添加style="font-size:0%"td 的图像。我们没有在 HTML 中使用 id 或任何类。那么如何使用javascript..??

谢谢!!

4

6 回答 6

5

使用.has()

var $tds = $('td').has('img').css('font-size',0);
于 2013-06-04T17:03:38.230 回答
4
$('td:has(img)').css('font-size','0%');

或者

var tds = document.getElementsByTagName('td');
for (var i=0; i<tds.length; i++) {
    if ( tds[i].getElementsByTagName('img').length )
         tds[i].style.fontSize = 0;
}
于 2013-06-04T17:04:10.693 回答
2

我建议使用 jQuery 稍微不同的方法:

// note: 0 doesn't require a unit
$('img').closest('td').css('font-size', '0');
于 2013-06-04T17:04:49.837 回答
1

没有 jQuery 的幼稚方法

var table = document.getElementsByTagName("table"),
    tds = document.getElementsByTagName("td"),
    tdsWithImages = Array.prototype.slice.call(tds).filter(function (td) {
        return td.getElementsByTagName('img').length > 0
    });
    tdsWithImages.map(function (td) {
        td.style.fontSize = "0";
    });
于 2013-06-04T17:11:40.487 回答
0

为什么不只是?$("td img").each()

于 2013-06-04T17:05:18.667 回答
0

$('img').closest('td').css('font-size','0%');

于 2013-06-04T17:05:47.280 回答