Упрощенный способ скрытия похожих чисел
Добрый день.:help: :help: :help:
Стала задача, скрыть определенные числа второй связки первой группы которые совпадают с числами первой связки первой группы и тд. то есть Группа1 связка1: 2 10 15 связка2: 2 4 25 Остануться: 4 25 Группа2 связка1: 4 13 1 связка2: 1 8 4 Остануться: 8 и т.д. html: <div class="node-tovar"> <div class="field-name-field-size-m"> <div class="field-item">21-47</div> <div class="field-item">47</div> </div> <div class="form-item-line-item-fields-field-size-item-und"> <div class="form-item">20</div> <div class="form-item">21</div> <div class="form-item" >21-47</div> <div class="form-item">47</div> </div> </div> <div class="node-tovar"> <div class="field-name-field-size-m"> <div class="field-item">4</div> <div class="field-item">95</div> </div> <div class="form-item-line-item-fields-field-size-item-und"> <div class="form-item">3</div> <div class="form-item">5</div> <div class="form-item" >4</div> </div> </div> Мое решение(нубское): function MyFuProducts () { var colvoTovarov = $('.node-tovar').length - 1; for (var i = 0; i <= colvoTovarov; i++) { var RazmerColvo = $('.node-tovar:eq('+i+') .field-name-field-size-m .field-item').length -1; var RazmerColvoPerem = $('.node-tovar:eq('+i+') .form-item-line-item-fields-field-size-item-und .form-item').length -1; for (var I = 0; I <= RazmerColvo; I++) { var TextRazmer = $('.node-tovar:eq('+i+') .field-name-field-size-m .field-item:eq('+I+')').text().replace(/(^\s+|\s+$)/g,''); var ColvoSimvolov = TextRazmer.length; for (var Vi = 0; Vi <= RazmerColvoPerem; Vi++) { var TextRazmerDva = $('.node-tovar:eq('+i+') .form-item-line-item-fields-field-size-item-und .form-item:eq('+Vi+')').text().replace(/(^\s+|\s+$)/g,''); var ColvoSimvolovDva = TextRazmerDva.length; if (TextRazmer == TextRazmerDva && ColvoSimvolov == ColvoSimvolovDva) { $('.node-tovar:eq('+i+') .form-item-line-item-fields-field-size-item-und .form-item:eq('+Vi+')').css('display', 'none'); }; }; }; }; } MyFuProducts(); решение писал на jquery, это мои первые шаги, прошу сильно не ругать, а подсказать как это дело все можно упростить что бы например при количестве групп около 100 на странице давало меньше нагрузку, так как подозреваю что этот способ будет прилично кушать.:cray: :( |
Цитата:
<!DOCTYPE html> <html> <head> <script src='http://code.jquery.com/jquery-latest.js'></script> <!-- <link rel='stylesheet type=text/css href=tmp.css' /> --> <style type='text/css'> .off { display: none; } .node-tovar { border: 1px solid; } .field-name-field-size-m { border: 1px solid red; } </style> <script type='text/javascript'> $(function (){ $('button').click(function (){ $('.field-item').each(function (){ var val=this.innerHTML; $(this).parent().next().find('.form-item:contains('+val+')').hide(); }); }); }); </script> </head> <body> <div class="node-tovar"> <div class="field-name-field-size-m"> <div class="field-item">21-47</div> <div class="field-item">47</div> </div> <div class="form-item-line-item-fields-field-size-item-und"> <div class="form-item">20</div> <div class="form-item">21</div> <div class="form-item" >21-47</div> <div class="form-item">47</div> </div> </div> <div class="node-tovar"> <div class="field-name-field-size-m"> <div class="field-item">4</div> <div class="field-item">95</div> </div> <div class="form-item-line-item-fields-field-size-item-und"> <div class="form-item">3</div> <div class="form-item">5</div> <div class="form-item" >4</div> </div> </div> <button>Close</button> </body> </html> |
Часовой пояс GMT +3, время: 08:58. |