Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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 如果所有元素(表)的宽度与某些(200)像素相同,如何隐藏它们?_Javascript_Html_Css_Frontend - Fatal编程技术网

Javascript 如果所有元素(表)的宽度与某些(200)像素相同,如何隐藏它们?

Javascript 如果所有元素(表)的宽度与某些(200)像素相同,如何隐藏它们?,javascript,html,css,frontend,Javascript,Html,Css,Frontend,假设我看到一个有100张桌子的页面:50张桌子是100宽的,50张桌子是200宽的 200宽度的表与我无关,我想用if()语句隐藏它们 问题是,他们没有选择器,我需要根据他们的宽度选择时间。这可能吗 我试过了,但没有成功: document.querySelectorAll('table').forEach( (e)=> { if (table.width === 300) { e.style.visibility = 'hidden'; } }); 编辑:我最想要一个普

假设我看到一个有100张桌子的页面:50张桌子是100宽的,50张桌子是200宽的

200宽度的表与我无关,我想用
if()
语句隐藏它们

问题是,他们没有选择器,我需要根据他们的宽度选择时间。这可能吗

我试过了,但没有成功:

document.querySelectorAll('table').forEach( (e)=> {
  if (table.width === 300) {
    e.style.visibility = 'hidden';
  }
});

编辑:我最想要一个普通的解决方案。

使用表元素的offsetWidth属性,并确保dom在尝试访问它之前已准备就绪:

function removeTables() { 
     document.querySelectorAll('table').forEach( (e)=> {
      if (e.offsetWidth >= 200) {
        e.style.display = "none";
      }
    });
}

window.onload = function() {
 removeTables()
};

试试下面的脚本。在这里,我使用jquery
each()
函数迭代页面中的所有表。希望能有帮助

$(document).ready(function(){
    $('table').each(function(){
    if($(this).width()==125){
        $(this).hide();
    }
  });
});

检查此项以供参考。

Hmm,即使页面明确包含表(一个表,带有tbody、td等)。也就是说,当您记录e时,控制台会说什么?这些表在iframe中吗?console.log(e);带来
引用错误:未定义e
。实际上,网页中的一些表似乎是带有框架标记的
框架集的一部分。但是我确实看到了任何相关的
iframe
标记(有一些标记显然与我要定位的表无关);console.log(tables)如果这是未定义的,那么我猜这些表没有附加到docuemnt对象,您可以将其转换为香草吗?我不知道jQuery。我将更新问题,我正在寻找一个普通的解决方案。顺便说一句,我知道domContentLoaded不同于
$(文档)。准备好了吗
,所以问题是什么可以取代它。@sangoko sry dude,我不知道香草!!