Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   помогите с функцией (https://javascript.ru/forum/misc/29297-pomogite-s-funkciejj.html)

bot87 22.06.2012 14:01

помогите с функцией
 
В jquery есть такое понятие как групповые селекторы.
$(p,i).
Как сделать подобное на js?
<script src="jquery.js"></script>

</head>

<body>

<p>one</p>
<p>two</p>
<i>three</i>
<u>lop</u>
<script>
//$("p,u").css("color","red");
function tags(tag1,tag2,svoistvo,value){
tag1=document.getElementsByTagName('tag1')
tag2=document.getElementsByTagName('tag2')
if(tag1.length>tag2.length){
	
for(i=0;i<tag1.length;i++){
	tag1[i].style.svoistvo=value
	tag2[i].style.svoistvo=value
	}	
	
}
else{
	for(i=0;i<tag2.length;i++){
	tag1[i].style.svoistvo=value
	tag2[i].style.svoistvo=value
	}	
	
}
}
tags('p','u','color','blue')
</script>
Не фурычить.Подскажите что не так?

melky 22.06.2012 14:16

Цитата:

Сообщение от bot87
Не фурычить.Подскажите что не так?

ясное дело, алгоритм туманный
Цитата:

Сообщение от bot87
if(tag1.length>tag2.length){

это зачем нужно?
Цитата:

Сообщение от bot87
tag2[i].style.svoistvo=value

выдаст ошибку, ибо i выйдет за пределы длины NodeList tag2

melky 22.06.2012 14:44

Цитата:

Сообщение от bot87
.style.svoistvo=value

будет обращаться непосредственно к свойству "svoistvo", а не к "color".

bot87 22.06.2012 14:48

Изменил
function tags(tag1,tag2,sv,value){
tag1=document.getElementsByTagName(tag1)
tag2=document.getElementsByTagName(tag2)
alert(tag1.length)
alert(tag2.length)

for(var i=0;i<tag1.length;i++){
    tag1[i].style.sv=value;
    
    }     
for(var j=0;j<tag2.length;j++){
tag2[j].style.sv=value;
 }  
     

}
tags('p','u','color','blue')

Но здесь проблема видимо style.sv=value;Не передается переменная??
Вот так все работает tag2[j].style.color=value;

melky 22.06.2012 14:53

Цитата:

Сообщение от bot87
Но здесь проблема видимо style.sv=value;Не передается переменная??

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

bot87 22.06.2012 15:04

не подскажеш как решить проблему?Может через регулярку :write: ?Пока только такой вариант родился

melky 22.06.2012 15:13

Цитата:

Сообщение от bot87
не подскажеш как решить проблему?

увы, нет, мсье. я натолкну на учебные материалы.
http://javascript.ru/tutorial/object...up-k-svoystvam
Цитата:

Сообщение от bot87
Может через регулярку ?

это совсем из другой оперы.

bot87 22.06.2012 15:18

tag2[j].style[sv]=value; СПС


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