У меня есть яваскрипта функцию, которая выглядит следующим образом:Уменьшить Javascript длину функции
function myfun(){
//product.1
var t1=document.getElementById('1').innerHTML;
var link = document.getElementsByClassName(t1);
if(document.getElementsByClassName(t1).length==1){
document.getElementById(t1).innerHTML=link[0].outerHTML;
document.getElementById(t1).getElementsByTagName('a')[0].className='dsad';
}
if(document.getElementsByClassName(t1).length==2){
document.getElementById(t1).innerHTML=link[0].outerHTML+'; '+link[1].outerHTML;
var element = document.getElementById(t1).getElementsByTagName('a')[0].className='dsad';
var element2 = document.getElementById(t1).getElementsByTagName('a')[1].className='dsad';
}...
//product.2
var t2=document.getElementById('2').innerHTML;
Это идет как это до if(document.getElementsByClassName(t1).length==10)
, а затем продолжает элемент - document.getElementById('2')
и так далее, пока он не достигнет числа элементов 10
. Весь сценарий составляет около 700 строк, и я хочу как-то уменьшить его. Я думал о цикле for, но я не понимаю, как это реализовать. Какие-либо предложения?
Что о прохождении id' атрибута элемента 'к функции и затем вызвать эту функцию снова и снова в цикле? – Lix
Вы когда-нибудь слышали о петле for? – rikpg
Обычно я не ссылаюсь на W3Schools, но пример, который они используют для цикла for for, - это именно то, что вы ищете. http://www.w3schools.com/js/js_loop_for.asp –