jquery .css a: ссылка на объект jquery - PullRequest
1 голос
/ 07 сентября 2011

Я хочу использовать свойство jQuery.css (), чтобы закрасить свойство ссылки. Прямой способ будет использовать

var $el = $("#test a:link"); //don't want to use this
$el.css({"color"  : "red"});

но у меня уже есть $ el, определенный и используемый во многих других местах как

var $el = $("#test"); 

Могу ли я по-прежнему получать доступ к свойствам a: link a: посещения a: hover a: active, повторно используя $ el в сочетании с другим кодом?

($el/*other code to access a:link of #test*/)
.css({"color"  : "red"});

http://jsfiddle.net/RUYfZ/1/ Спасибо.

Ответы [ 5 ]

2 голосов
/ 07 сентября 2011

jQuery принимает необязательный параметр 'context' , позволяющий искать внутри существующего результата:

var $el = $("#test"); 
$('a:link', $el).css({"color"  : "red"});

Контекст может быть элементом DOM, документом или объектом jQuery.

1 голос
/ 07 сентября 2011
$el.find('a:link').css('color', 'red');

<ч /> редактировать: применил это решение к вашему jsfiddle: http://jsfiddle.net/RUYfZ/3/

Кроме того, не уверены, что вы имеете в виду, используя псевдоселекторы: visit,: hover,: active. Селекторы jQuery используются для запроса DOM, а не для стилей, зависящих от состояния. Даже в CSS все эти псевдо-селекторы выбирают одни и те же узлы DOM, они просто применяют разные стили в зависимости от состояния.

1 голос
/ 07 сентября 2011

Если все, что вы делаете для $el, это присваивает свойства css, вам даже не нужно использовать переменную.Попробуйте следующее

$('#test a:link').css('color', 'red')

Или, если $ el в настоящее время определено как #test (оно указывает на элемент с помощью теста id), вы можете сделать

$('a:link', $el).css('color', 'red')
0 голосов
/ 07 сентября 2011

Используйте метод селектора jQuery .children (), где вы даете jQuery селектор для работы с дочерними элементами данного родительского элемента, например: $el.children('a:link')

0 голосов
/ 07 сентября 2011

Если $el находится в области действия в месте, где вы хотите его использовать, его можно использовать повторно. Если $el находится вне области видимости, вам нужно будет назначить его снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...