请您查看此代码,并告诉我为什么我无法在任何.green
tr
之前添加新行td
.red
{1}}
正如您可以看到以下代码在tr
中添加新tr
$( '<tr class="green"><td>new row<td></tr>' ).insertBefore( " tr > td.red" );
&#13;
.red{
background:red;
}
.green{
background:green;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>test</td>
<td>test2</td>
</tr>
<tr>
<td class="red">test</td>
<td>test2</td>
</tr>
</table>
&#13;
答案 0 :(得分:0)
您需要在具有RSpec Mocks
的{{1}}之前插入:has()
。
tr
检查一下:
td.red
.insertBefore( " tr:has(td.red)" );
$( '<tr class="green"><td>new row<td></tr>' ).insertBefore( " tr:has(td.red)" );
答案 1 :(得分:0)
.parent()
与.before()
$( " tr > td.red" ).parent( ).before( '<tr class="green"><td>new row<td></tr>');
&#13;
.red{
background:red;
}
.green{
background:green;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>test</td>
<td>test2</td>
</tr>
<tr>
<td class="red">test</td>
<td>test2</td>
</tr>
</table>
&#13;
答案 2 :(得分:0)
您的选择器适用于td
,而不是tr
。
您需要使用:has
选择器检查tr
是否包含红色等级为td
$( '<tr class="green"><td>new row<td></tr>' ).insertBefore( " tr:has(td.red)" );
<强>演示强>
$( '<tr class="green"><td>new row<td></tr>' ).insertBefore( " tr:has(td.red)" );
.red{
background:red;
}
.green{
background:green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>test</td>
<td>test2</td>
</tr>
<tr>
<td class="red">test</td>
<td>test2</td>
</tr>
</table>