Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   получить объект но не могу поменять стиль(( (https://javascript.ru/forum/events/53016-poluchit-obekt-no-ne-mogu-pomenyat-stil.html)

DynkanMaclaud 17.01.2015 16:41

получить объект но не могу поменять стиль((
 
var x=$('li')

    $(x.length-4).css('color','red');


почему не работает((?

danik.js 17.01.2015 16:49

Цитата:

Сообщение от DynkanMaclaud
$(x.length-4)

А че эт такое? :blink:

DynkanMaclaud 17.01.2015 17:02

<ul>
 <li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>


</ul>


я хотел так выбрать 4ый li с конца

danik.js 17.01.2015 17:14

Цитата:

Сообщение от DynkanMaclaud
я хотел так выбрать 4ый li с конца

А ты задай ему особый класс. Кстати тогда и js не понадобится - стили установишь в файле css по селектору класса.

danik.js 17.01.2015 17:16

<style>
li:nth-last-child(4){
    color: red;
}
</style>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>

DynkanMaclaud 17.01.2015 17:22

danik.js,
да то что через css можно поменять помню)) а вот почему он таким методом не меняет?? алертом получаю объект, а почему нельзя стиль поменять )))понят не могу

danik.js 17.01.2015 17:26

Цитата:

Сообщение от DynkanMaclaud
алертом получаю объект

Потому-что функция $() возвращает объект всегда:
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
alert(   $()     );
alert(   $(6-4)    );
</script>


Вот только стили пустым объектам без толку менять - в них нет ссылок на DOM-элементы.

DynkanMaclaud 17.01.2015 17:31

то есть запись x.length-4; неправильна?? обычно я использую ее в циклах жми на слова, но я думал можно и получать html элементы с помощью нее но видимо я глубоко ошибался

danik.js 17.01.2015 17:35

Цитата:

Сообщение от DynkanMaclaud
то есть запись x.length-4; неправильна??

Как понять "неправильна"? Что ты под этим подразумеваешь?

DynkanMaclaud 17.01.2015 17:36

подразумеваю что таким способом я не получаю 4ый (li) элемент с конца


Часовой пояс GMT +3, время: 21:50.