#javascript #html-table
Вопрос:
У меня есть строка таблицы display:table-row
и display:none
Я хочу собрать значение tablerow == "display: table-row"
и показать его только display:table-row
в console.log
но мой код ничего не показывает, потому что не соответствует условию, если
есть ли у кого-нибудь советы по моему коду ?
tr = document.getElementsByTagName('tr');
for (var i = 0; i < tr.length; i ) {
if (tr[i].style == "display:table-row") {
console.log(tr[i])
}
}
<table>
<tr style = "display:none">
<td>Human</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr style = "display:table-row">
<td>Robot</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
<tr style = "display:table-row">
<td>Robot</td>
<td>Roland Mendel</td>
<td>Austria</td>
</tr>
</table>
Ответ №1:
tr[i].style
возвращает объект. То, что вам нужно использовать, — это свойство отображения. Смотрите строку «если».
tr = document.getElementsByTagName('tr');
for (var i = 0; i < tr.length; i ) {
if (tr[i].style.display == "table-row") {
console.log(tr[i])
}
}
<table>
<tr style = "display:none">
<td>Human</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr style = "display:table-row">
<td>Robot</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
<tr style = "display:table-row">
<td>Robot</td>
<td>Roland Mendel</td>
<td>Austria</td>
</tr>
</table>
Ответ №2:
Вы очень близки к ответу. Ты промахнулся .display
в if
состоянии, и я использовал ===
вместо ==
этого .
tr = document.getElementsByTagName('tr');
for (var i = 0; i < tr.length; i ) {
if (tr[i].style.display === "table-row") {
console.log(tr[i])
}
}
<table>
<tr style = "display:none">
<td>Human</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr style = "display:table-row">
<td>Robot</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
<tr style = "display:table-row">
<td>Robot</td>
<td>Roland Mendel</td>
<td>Austria</td>
</tr>
</table>
Ответ №3:
<script>
const rows = document.querySelectorAll("[style='display:table-row']")
rows.forEach(row => {
console.log(row.getAttribute('style')) // display:table-row
})
</script>