Я могу ошибаться, но позиционный селектор : eq принимает целое число n и находит n-й соответствующий элемент.
Итак, если вы сказали td: eq (1) - вы получите 2-й элемент TD в таблице (второй, потому что первый индекс равен нулю / 0).
Я предполагаю, что вы не хотите использовать : содержит селектор , потому что вы ищете точное совпадение строк и не хотите частичных совпадений.
Я не знаю, что в jquery есть встроенный селектор, который будет отвечать вашим потребностям (если так, пожалуйста, исправьте меня). Вы можете добавить его в качестве расширения или использовать другой метод, например, селектор атрибутов, чтобы выполнить поиск за вас.
Если вы можете контролировать сгенерированный HTML, вы можете добавить атрибут ID к каждому TD, например, так:
<table id="servertable" border="1">
<thead>
<tr><th>Server</th><th>Memory</th></tr>
</thead>
<tbody>
<tr><td id="server_mars">Mars</td><td>4 GB</td></tr>
<tr><td id="server_venus">Venus</td><td>1 GB</td></tr>
<tr><td id="server_jupiter">Jupiter</td><td>2 GB</td></tr>
<tr><td id="server_uranus">Uranus</td><td>8 GB</td></tr>
<tr><td id="server_mars_2010">Mars_2010</td><td>4 GB</td></tr>
</tbody>
</table>
<form>
<label for="server">Find:</label><input type="text" id="server" />
<button id="find">Find</button>
</form>
Следующий селектор атрибута найдет правильный TD в таблице:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#find").click(function() {
var server = $("#server").val();
$("#servertable td").css("background-color", ""); // reset
$("#servertable td[id='server_" + server.toLowerCase() + "']").css("background-color", "#FFFF00");
return false;
});
});
</script>
Если вместо этого вы хотите настроить таргетинг на всю строку, содержащую искомый TD, вы можете добавить дополнительные селекторы:
$("#servertable tbody tr").css("background-color", "");
$("#servertable tbody tr:has(td[id='server_" + server.toLowerCase() + "'])").css("background-color", "#FFFF00");
Тег tbody не является полностью необходимым, он просто помогает различать строки в теле таблицы и строки в заголовке таблицы.