Есть много способов пойти.
Во-первых, вместо document.getElementbyId('something')
, в jQuery вы можете использовать $('#something')
. Вместо использования style.display = block
и style.display = none
способ jQuery:
$('#something').hide();
$('#something').show();
или даже:
$('#something').toggle();
Далее, вместо того, чтобы идентифицировать длинные списки элементов по их отдельным идентификаторам, мы надеемся, что ваша страница структурирована таким образом, что вы можете выбирать по классу или вмещающему контейнеру. Если вам нужно скрыть десять элементов, и все они находятся внутри контейнера div
, не выбирайте каждый из них по идентификатору для скрытия. Выберите контейнер:
$('#container').find('.setOne').hide(); // assume class "setOne" on all
// elements in a particular group
$('#container_of_datatable2').hide(); // if hiding the container works for you
$('#container_of_datatable2')
.find('table, div') // to hide tables or divs within the specific container
.hide();
Если контейнерный подход не работает для вас (ваши идентификаторы кажутся почти , но не совсем соответствуют фиксированному шаблону), вы можете настроить массивы, содержащие селекторы для идентификаторов, которые работают вместе. *
var setOne = ['#datatable4','#adddiv','#imagebuttondiv','#etc'];
var setTwo = ['#something','#something-else','#etc2'];
и затем используйте что-то вроде этого:
$( setOne.join(",") ).hide();
Похоже, вы пытаетесь обернуть свой код в функции, которые имеют значимые (для вас) имена. Но эти имена функций, похоже, более тесно связаны с типами объектов, которые вы будете показывать и скрывать, чем с бизнес-правилом. Так что, возможно, вместо HideImageButtonDivclose1forfollowup()
вы могли бы иметь:
function beginFollowup(){
$( setOne.join(",") ).hide();
$( setFive.join(",") ).show();
...etc...
}
Поэтому, когда вы на самом деле упорядочите эти функции и поведение, ваш код будет более понятным:
beginFollowup();
endFollowup();
if( something ) {
beginSomeOtherThing();
}
Просто несколько идей, с чего можно начать.