2012-02-20 3 views
0

У меня есть группа LI, которые перемещаются по странице. Я хочу, чтобы у меня была возможность установить переменную для того, что LI имеет свойство css «left: 0px» (там будет только один).Использование jquery, задать переменную для объекта с определенным свойством css

Я не могу понять, как сузить список таким образом, каждый метод, который я нахожу, просто хочет добавить это свойство.

Так поместить его в более подробном виде:

var my_var = $('ul#slider li') with the property "left: 0px" 

и он должен вернуть что-то вроде:

<li><img src="image1.jpg"></li> 

Спасибо!

+2

Что устанавливает «left: 0px»? Я прошу b/c общий способ найти узел по классу. Можете ли вы установить код, который устанавливает этот стиль, также присвоить ему класс или идентификатор? Тогда найти это было бы тривиально. – Chris

+0

Почему бы не сделать код, который перемещает LI, также установить переменную, когда он устанавливает что-то 'left' css свойство в 0px? –

+0

Вам не нужно возиться с настройкой специальных классов, если вы используете jQuery - см. Мой ответ. – BenjaminRH

ответ

0

Вы можете сделать это легко с помощью JQuery, без необходимости возиться с назначением специальных классов. Вы хотите использовать .filter(function(index)) метод JQuery в:

var my_element = $('ul#slider li').filter(function() { 
    return $(this).css('left', '0px').length > 0; 
}); 

метод фильтра JQuery в принимает, среди прочего, функцию, которая может возвращать значение truthy or falsey, который управляет ли фильтровать элементы в наборе. Таким образом, мы можем использовать метод фильтра, чтобы проверить каждый css li методом jQuery css(), возвращая true, если он соответствует вашим критериям.

0

Попробуйте использовать класс css. Вот пример:
CSS:

.left {left: 50px;} 

HTML:

<ul> 
<li id="li1">Left = 0px</li> 
<li id="li2" class="left">Left = 50px</li> 
</ul> 

получить LI1 (тот без левого класса/стайлинга):

var my_var = $('li:not([left])'); 

Удачи!

Смежные вопросы