在第一行的值为“China”的情况下,如何使用greasemonkey更改第3行的值?我找到的所有其他答案都涉及查看元素id,但我的代码没有任何答案。
<td class="listRow listHighlight" align="center">101</td>
<tr id="country3" class="listRow">
<td class="listRow listHighlight" align="center">China</td>
<td class="listRow listHighlight" align="center">Asia</td>
<td class="listRow listHighlight" align="center">31</td>
</tr>
答案 0 :(得分:1)
使用jQuery :contains()选择器和next():
var third = $('.listRow td:contains("China")').next().next();
if (third.text() === '31') {
third.text('32');
}
如果第一个单元格可能包含除China
之外的单词China something
,则选择器方法无法正常工作,您需要进行精确比较。使用filter():
var third = $('.listRow td:first').filter(function() {
return $(this).text() === 'China';
}).next().next().filter(function() {
return $(this).text() === '31';
}).text('32');
或合并版本:
var third = $('.listRow td:first').each(function() {
if ($(this).text() === 'China') {
var third = $(this).next().next();
if (third.text() === '31') {
third.text('32');
}
}
});