Поиск родителя по селектору
Здравствуйте.
Хочу сделать элементарный скрипт, который при наведении на ссылку добавляет родителю td определенный класс. Подскажите, как это делается? Пока что выбираю как td:parent, но как фиксировать над какой именно ссылкой навели курсор и как определять ее родителя td непонятно. <table> <tr> <td><a href="#">Вячеслав Быков: "Мы были заложниками нашего контракта"</a></td> </tr> <tr> <td><a href="#">Еще один арбитр наказан за свистки в пользу "Локомотива"</a></td> </tr> </table> $(document).ready(function(){ $("table tr td a").mouseover(function(){ $("td:parent").addClass("gray"); }); |
Цитата:
$(document).ready(function(){ $("table tr td a").mouseover(function(){ $(this).closest("td").addClass("gray"); }); ); |
Нашел другое решение. Вот так не лучше?
$("table tr td a").mouseover(function(){ $(this).parent("td").addClass("gray") }); |
Юрий Шу, я уже отписал. closest именно для поиска ближайшего parenta, удовлетворяющего условию (в кои-то веки в jquery реализовали действительно полезный метод). parent -- вернет непосредственного родителя, а это совсем не то.
|
Цитата:
|
Юрий Шу, да -- parentNode. $().parents("query") вернет ВСЕХ родителей, отфильтрованных по query. Причем если у Вас это td, то вполне возможно, их будет несколько -- вложенные таблицы такие вложенные таблицы. В данном случае нам нужен "ближайший родитель либо сам же елемент, удовлетворяющий выборке".
|
тут у него <td> - как раз непосредственный родитель так что $(this).parent("td") вполне катит, даже так: $(this).parent()
|
micscr, плохой подход. Profit jQuery - в возможность реализовать шаблоно-независимый компонент. А если ссылка потом будет во что-то обернута? $(this).parent() -- вообще никуда не годится. тогда уж $(this.parentNode).addClass, к чему уж мелочиться :)
|
К слову, по-моему в данном случае лучше использовать css, а не js
|
Sweet, согласен, если есть возможность, так и нужно делать. А здесь каким образом можно использовать css?
|
Часовой пояс GMT +3, время: 04:47. |