Редактировать: Для обновленной разметки
var num = $("#footer").attr("class").replace("-column","");
$("#footer > div:gt(0):not(.sideColumn-" + num + ")").hide();
Вы можете попробовать здесь
Предыдущий ответ: Не изменяя свою разметку, вы можете сделать что-то вроде этого:
var nums = { one: 1, two: 2, three: 3 };
var num = $("#test").attr("class").replace("-column","");
$("#test > div:not(.col" + nums[num] + ")").hide();
Вы можете попробовать здесь , хотя, если вы упростили это, предоставив родителю тот же класс дляпример:
<div id="test" class="col1">
<div class="col1">
Col 1
</div>
<div class="col2">
Col 2
</div>
<div class="col3">
Col 3
</div>
</div>
Сценарий становится проще, например:
$("#test > div:not(." + $("#test").attr("class") + ")").hide();
Вы можете попробовать эту версию здесь , если вы хотите удалить, а не скрыть их, просто замените .hide()
на .remove()
.