我有一个嵌套表的结构,我正在尝试获取一个单元格的值并用我给出的条件绘制parentrow。 我无法弄清楚我的代码中出了什么问题,我甚至尝试了prev()或者parent(),没有运气。非常感谢任何帮助!
PS。不介意css
$(document).ready(function() {
$('.child2.2.5').each(function(index) {
var me = $(this);
if (me.text() == "child 2.2.5") {
me.closest('tr.parentrow').css('background-color', 'green');
} else if (me.text() == "child 2.2.6") {
me.closest('tr.parentrow').css('background-color', 'red');
}
});
});
td,
th {
width: 50px;
}
table {
width: 800px;
text-align: left;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<table>
<thead>
<th>header 1</th>
<th>header 2</th>
<th>header 3</th>
<th>header 4</th>
<th>header 5</th>
<th>header 6</th>
<th>header 7</th>
</thead>
<tbody>
<tr class="parentrow">
<td>parent 1</td>
<td>parent 1</td>
<td>parent 1</td>
<td>parent 1</td>
<td>parent 1</td>
<td>parent 1</td>
<td>parent 1</td>
</tr>
<tr class="childrow">
<td colspan=7>
<table>
<tr>
<td> </td>
<td> </td>
<td class="child1.1">child 1.1</td>
<td class="child1.2">child 1.2</td>
<td class="child1.3">child 1.3</td>
<td class="child1.4">child 1.4</td>
<td class="child1.5">child 1.5</td>
</tr>
</table>
</td>
</tr>
<tr class="parentrow">
<td>parent 2</td>
<td>parent 2</td>
<td>parent 2</td>
<td>parent 2</td>
<td>parent 2</td>
<td>parent 2</td>
<td>parent 2</td>
</tr>
<tr class="childrow">
<td colspan=7>
<table>
<tr>
<td> </td>
<td> </td>
<td class="child2.1.1">child 2.1.1</td>
<td class="child2.1.2">child 2.1.2</td>
<td class="child2.1.3">child 2.1.3</td>
<td class="child2.1.4">child 2.1.4</td>
<td class="child2.1.5">child 2.1.5</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td class="child2.2.1">child 2.2.1</td>
<td class="child2.2.2">child 2.2.2</td>
<td class="child2.2.3">child 2.2.3</td>
<td class="child2.2.4">child 2.2.4</td>
<td class="child2.2.5">child 2.2.5</td>
</tr>
</table>
</td>
</tr>
</tbody>
</table>
答案 0 :(得分:2)
由于startMonitoringSignificantLocationChanges
是元字符,因此请使用.
来转义它。 我建议你不要使用它们。
\\
使用任何元字符(例如!“#$%&amp;'()* + ,. /:;&lt; =&gt;?@ [] ^ {|}〜)作为名称的文字部分,必须使用两个反斜杠进行转义:\\。
并且$('.child2\\.2\\.5')
是您必须使用它进行旅行的当前元素父parentrow
的兄弟姐妹。
childrow
$('.child2\\.2\\.5').each(function(index) {
var me = $(this);
if (me.text() == "child 2.2.5") {
me.closest('tr.childrow').prev('.parentrow').css('background-color', 'green');
} else if (me.text() == "child 2.2.6") {
me.closest('tr.childrow').prev('.parentrow').css('background-color', 'red');
}
});
$(document).ready(function() {
$('.child2\\.2\\.5').each(function(index) {
var me = $(this);
if (me.text().trim() == "child 2.2.5") {
me.closest('tr.childrow').prev('.parentrow').css('background-color', 'green');
} else if (me.text() == "child 2.2.6") {
me.closest('tr.childrow').prev('.parentrow').css('background-color', 'red');
}
});
});
td,
th {
width: 50px;
}
table {
width: 800px;
text-align: left;
}