У меня есть скрипт, который делает меня onclick, показывая все Divs с определенным идентификатором
Это селектор
<a onclick="filterGal('simpleCart_shelfItem item Sonnenbrillen')" href="javascript:void(0);">Sonnenbrillen</a>
это мой сценарий
function filterGal(foo) {
var toHide = document.getElementsByClassName(foo);
for (i = 0; i < toHide.length; i++) {
toHide[i].style.display = 'block';
}
}
Итак, теперь мой вопрос: как я могу показать только конкретный div с именем класса и не показывать другой div с другими именами классов?
Вот что я хотел бы попробовать:
$("div").Hide();
$("." + foo).Show();
Я просто покажу вам добавить ярлык jquery, поэтому вам просто нужно сделать это:
function filterGal(foo) {
$( "div:not("+foo+")" ).hide();
}
Пример: http://jsfiddle.net/ACjeZ/1
Попробуй это:
function filterGal(foo) {
var toHide = document.getElementsByTagName('div');
for (i = 0; i < toHide.length; i++) {
toHide[i].style.display = 'none';
}
var toShow = document.getElementsByClassName(foo);
for (i = 0; i < toShow.length; i++) {
toShow[i].style.display = 'block';
}
}
Может быть улучшено путем пропуска в первом цикле цикла, который соответствует вашим классам.
querySelectorAll
может быть то, что вы ищете?