Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何访问td';在td中有没有未使用id或类的图像。。?_Javascript_Jquery_Html_Dom - Fatal编程技术网

Javascript 如何访问td';在td中有没有未使用id或类的图像。。?

Javascript 如何访问td';在td中有没有未使用id或类的图像。。?,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我们有这样的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;"&g

我们有这样的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>

正文
我需要为td添加图像。 我们没有在HTML中使用id或任何类。 那么如何使用javascript呢

谢谢

使用
.has()

var-tds=document.getElementsByTagName('td');

对于(var i=0;i,我建议使用一种稍微不同的方法,使用jQuery:

// note: 0 doesn't require a unit
$('img').closest('td').css('font-size', '0');

为什么不呢?$(“td-img”).each()

$(“img”).closest('td').css('font-size','0%);
没有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";
    });

xpath?
//td[genderant::img]
?不知道
has()
,看起来非常有用,需要添加类,而不是确定是否有images@chethan用jquery标记。jquery是javascript。在纯javascript中,应该用一些语句进行迭代…@chethan抱歉没有看到你是OP。那么,如果你不想使用它,为什么要用jquery标记一个问题呢???@chethan-你用jquery标记了它,它只能我认为jQuery解决方案是可以接受的。因为
font size
在图像上不是一个非常有用的CSS属性?我编辑了我的答案:原来是“find()”而不是“closest()”。我发疯了。向上投票会很好-谢谢!:-)你只是忘记了设置tdsWithImages元素的样式,但这并不难+1@Orlando谢谢但是我用的是你的密码。。函数更改(输入,输出){var div=document.createElement(“div”);try{div.innerHTML=input;}catch(e){alert(e.message);return;}var table=div.getElementsByTagName(“table”),tds=div.getElementsByTagName(“td”),tdsWithImages=Array.prototype.slice.call(tds).filter(函数(td){return td.getElementsByTagName('img').length>0});tdsWithImages.map(function(td){td.style.fontSize=“0”;});output.value=tdsWithImages;}我不理解您的评论:/@Orlando我得到了所需的输出..但html现有html样式被覆盖..下面是代码..函数更改(输入,输出){var div=document.createElement(“div”);try{div.innerHTML=input;}catch(e){alert(e.message);return;}var table=div.getElementsByTagName(“table”),tds=div.getElementsByTagName(“td”),tdsWithImages=Array.prototype.slice.call(tds)。过滤器(函数(td){return td.getElementsByTagName('img')。长度>0});tdsWithImages.map(函数(td){td.style.fontSize=“0%”;});output.value=div.innerHTML;}'
var tds = document.getElementsByTagName('td');
for (var i=0; i<tds.length; i++) {
    if ( tds[i].getElementsByTagName('img').length )
         tds[i].style.fontSize = 0;
}
// note: 0 doesn't require a unit
$('img').closest('td').css('font-size', '0');
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";
    });