javascript函数显示/隐藏多个div,第一个div可见

javascript函数显示/隐藏多个div,第一个div可见,javascript,jquery,html,css,Javascript,Jquery,Html,Css,当页面加载时,我试图使第一个目标div始终可见,而当用户选择该选项时,其他目标div变为可见。当前,它们在页面加载时都是隐藏的,只有在单击按钮后才可见 JS HTML 隐藏其他div后,在第一个div上显示Call.show: $('.targetDiv').hide(); $('#div1').show(); $('.show').click(function () { $('.targetDiv').hide(); $('#div' + $(this).attr('targ

当页面加载时,我试图使第一个目标div始终可见,而当用户选择该选项时,其他目标div变为可见。当前,它们在页面加载时都是隐藏的,只有在单击按钮后才可见

JS HTML 隐藏其他div后,在第一个div上显示Call.show:

$('.targetDiv').hide();
$('#div1').show();

$('.show').click(function () {
    $('.targetDiv').hide();
    $('#div' + $(this).attr('target')).show();
});
您可以使用$'.targetDiv:notdiv1.hide

$'.targetDiv:notdiv1'.hide; $'.show'。单击函数{ $'.targetDiv'.hide; $'div'+$this.attr'target'.show; }; 用途:gt0:-

:gt选择索引大于匹配集中索引的所有元素

注:

此属性指定显示链接资源的位置_自己 _空白、\u父项、\u顶部

仅当href属性存在时才使用此属性

因此,我建议使用以下数据:-

试试这个代码

$(".targetDiv").not(':first').hide();
   $('.show').click(function () {
   $('.targetDiv').hide();
   $('#div' + $(this).attr('target')).show();
});

另一种方法是通过css在HTML中隐藏div

HTML


$'div1'。show;从第一个div中删除class=targetDiv并使用$'div1.show;你为什么一开始就把它藏起来?你不应该用:不是吗?…我可以发誓我这么做了…我一定是疯了…睡眠不足!谢谢@你想用什么就用什么。这两个选项都是有效的。@Turnip IMHO,这不是最好的方法,因为你正在创建一个不必要的对象。请参阅我最后的评论。如果你真的关心微观优化的水平,不要使用这个。易于理解的
$('.targetDiv').hide();
$('#div1').show();

$('.show').click(function () {
    $('.targetDiv').hide();
    $('#div' + $(this).attr('target')).show();
});
$('.targetDiv:gt(0)').hide();
<a class="show" data-target="1">Option 1</a>
$(this).data('target')
$(".targetDiv").not(':first').hide();
   $('.show').click(function () {
   $('.targetDiv').hide();
   $('#div' + $(this).attr('target')).show();
});
   <div class="buttons">
       <a  class="show" target="1">Option 1</a>
       <a  class="show" target="2">Option 2</a>
       <a  class="show" target="3">Option 3</a>
       <a  class="show" target="4">Option 4</a>
   </div>

   <div id="div1" class="targetDiv">Lorum Ipsum 1</div>
   <div id="div2" class="targetDiv" style="display:none;">Lorum Ipsum 2</div>
   <div id="div3" class="targetDiv" style="display:none;">Lorum Ipsum 3</div>
   <div id="div4" class="targetDiv" style="display:none;">Lorum Ipsum 4</div>
 //$('.targetDiv').hide();
$('.show').click(function () {
    $('.targetDiv').hide();
    $('#div' + $(this).attr('target')).show();
});