Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Проблемы с синтаксисом программирования (https://javascript.ru/forum/jquery/52282-problemy-s-sintaksisom-programmirovaniya.html)

free_style 11.12.2014 15:57

Проблемы с синтаксисом программирования
 
Всем привет!
Задача следующая надо присвоить <div> через стили высоту и ширину.
$('#div_id').css({'width' : a , 'height' : b}); - это как я обычно делал.

А вот как обратиться через массив и в цикле не знаю.

var array1 = ["#div_id1", "#div_id2", "#div_id3"];

for(var i = 0; i < array1.lenght; i++){
$(array1[i]).css({'width' : shirina , 'height' : vusota});
}

Большая просьба, помогите!

Aetae 11.12.2014 15:58

array1.length

Но вообще, jquery ищет по css-селекторам, и ничто не мешает просто перечислить id через запятую:
var array1 = ["#div_id1", "#div_id2", "#div_id3"];
$(array1.join(',')).css({'width' : shirina , 'height' : vusota});

free_style 11.12.2014 16:56

Спасибо за совет. Но к сожалению, данный метод не подходит.
Мне надо для каждого DIV присвоить свое собственное значение.

krutoy 11.12.2014 17:45

Почему бы не воспользоваться чистым
<html>
<head>
<meta charset="windows-1251" />
</head>
<body>

<div id="one">one</div>
<div id="two">two</div>
<div id="three">three</div>
<div id="four">four</div>

<script>

var array1 = ["one", "two", "four"];

divs=document.querySelectorAll("div")

for(var i = 0; i < divs.length; i++){
if(array1.indexOf(divs[i].id)>=0) divs[i].setAttribute("style", "background: red")
}
</script>
</body>
</html>

krutoy 11.12.2014 17:58

Цитата:

Сообщение от free_style
Мне надо для каждого DIV присвоить свое собственное значение.

Это проще через хеш сделать
<html>
<head>
<meta charset="windows-1251" />
</head>
<body>

<div id="one">one</div>
<div id="two">two</div>
<div id="three">three</div>
<div id="four">four</div>

<script>

o={
one: "red", two: "blue", four: "green"
}

divs=document.querySelectorAll("div")

for(var i = 0; i < divs.length; i++){
   if(divs[i].id in o) divs[i].setAttribute("style", "background: "+o[divs[i].id])
}
</script>
</body>
</html>

tsigel 12.12.2014 09:49

free_style,
Если будете пользоваться примерами от krutoy, то не забудте ставить "var" перед объявлением переменных.

bes 13.12.2014 10:31

Цитата:

Сообщение от tsigel
free_style,
Если будете пользоваться примерами от krutoy, то не забудте ставить "var" перед объявлением переменных.

вероятно, у него var ассоциируется с war, а он типа пацифист :D


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