【发布时间】:2020-06-20 18:33:54
【问题描述】:
我正在尝试通过在搜索表单中编写一些文本来过滤此 HTML 表格,效果很好,但每当过滤时,元素都会尝试填充表格的整个宽度,而不是保持其原始元素宽度(25%表格的宽度,不计算单元格之间的空间)。
function searchFilter () {
const input = document.getElementById('myInput');
const filter = input.value.toUpperCase();
const table = document.getElementById('tablaPiola');
const articule = table.getElementsByTagName('td');
for (i = 0; i < articule.length; i++) {
a = articule[i].getElementsByTagName("a")[0];
txtValue = a.textContent || a.innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
articule[i].style.display = "";
} else {
articule[i].style.display = "none";
}
}
}
document.getElementById("filter-btn").addEventListener("click", searchFilter);
body {
background-color: black;
}
table
{border-spacing: 20px;
table-layout: fixed;
width: 600px;
margin: auto;
margin-top: 10px;}
td
{text-align: center;
border-radius: 10px;}
td a
{width: 100%;
display: block;
line-height: 50px;
text-decoration: none;
font-family: "Poppins";
font-weight: 700;
font-size: 12px;
color: white;}
.automatizaciones
{background-image: url("https://via.placeholder.com/100/0000FF/0000FF");
background-size: cover;}
.bpm_a_ms
{background-image: url("https://via.placeholder.com/100/0000FF/0000FF");
background-size: cover;}
.compresion
{background-image: url("https://via.placeholder.com/100/0000FF/0000FF");
background-size: cover;}
.compresion_multibanda
{background-image: url("https://via.placeholder.com/100/0000FF/0000FF");
background-size: cover;}
<input type="text" id="myInput">
<input type="button" id="filter-btn" value="Apply">
<table class="tabla_basico" id="tablaPiola">
<tr>
<td class="automatizaciones">
<div class="overlay_basico"><a href="/">AUTOMATIZACIONES</a></div>
</td>
<td class="bpm_a_ms">
<div class="overlay_intermedio"><a href="/">BPM A MS</a></div>
</td>
<td class="compresion">
<div class="overlay_basico"><a href="compresion.html">COMPRESIÓN</a></div>
</td>
<td class="compresion_multibanda">
<div class="overlay_intermedio"><a href="/">COMPRESIÓN MULTIBANDA</a></div>
</td>
</tr>
</table>
【问题讨论】:
-
欢迎来到 Stack Overflow! 不错的一个,包括几乎所有相关的 HTML、CSS 和 JavaScript!我能够使用您提供的内容并使用 Stack Snippets(
[<>]工具栏按钮)在您的问题中创建一个可运行的版本。下次,here's how to do one。同样,做得很好,包括几乎所有需要的东西,而且没有太多额外的东西。 -
我只是好奇:那是什么语言?它看起来有点像我熟悉的几种语言,但又不太像其中任何一种。 :-) 您的位置支持巴西葡萄牙语,但如果我没记错的话,
articule将是artigos。articule看起来像是意大利语,但它会是articoli。西班牙语不会使用这种复数形式。显然是一种浪漫的语言,但是……我只是好奇,我喜欢语言。 -
我来自阿根廷布宜诺斯艾利斯,所以是西班牙语 :)
-
我使用了一些英语单词和一些西班牙语单词。认为“articule”是“articulo”的英文(西班牙语):P
-
啊!英文是“article”和“articles”:-D
标签: javascript html css filter width