2015-03-30 67 views
0

有没有办法显示2个具有相同id和类的onClick的jQuery,无法解决这个问题。 (Div1构成/类targetDiv)显示2个具有相同ID和类的点onClick

HTML:

<div class="buttons"> 
    <a class="showSingle" data-target="1">Option 1</a> //With this 
    <a class="showSingle" data-target="2">Option 2</a> 
    <a class="showSingle" data-target="3">Option 3</a> 
    <a class="showSingle" data-target="4">Option 4</a> 
</div> 

<div id="div1" class="targetDiv">Lorum Ipsum 1</div> //Show this 
<div id="div1" class="targetDiv">Lorum Ipsum 1 Second</div> //And this 
<div id="div2" class="targetDiv">Lorum Ipsum 2</div> 
<div id="div3" class="targetDiv">Lorum Ipsum 3</div> 
<div id="div4" class="targetDiv">Lorum Ipsum 4</div> 

的Jquery:

$('.showSingle').on('click', function() { 
    $(this).addClass('selected').siblings().removeClass('selected'); 
    $('.targetDiv').hide(); 
    $('#div' + $(this).data('target')).show(); 
}); 
$('.showSingle').first().click(); 

小提琴: https://jsfiddle.net/XwN2L/5709/

非常感谢你的帮助!

+3

你的两个div不应该有相同的ID。 ID的每个元素必须是唯一的。然而类可以在多个元素之间共享。 – 2015-03-30 21:20:12

+3

你永远不应该有2个具有相同ID的元素。 Id的需要是独一无二的。将相同的类添加到想要组合在一起的任何元素(例如,'div1'的类到多个元素),然后显示该类。 – tabz100 2015-03-30 21:20:58

+0

我的坏..现在工作都很好。身份证是独一无二的..应该知道的!谢谢你们! – user3599221 2015-03-30 21:39:25

回答

0

在一个页面上不可能有一个以上的ID。

ID =标识符

如果你想拥有“绑定”元素的可见性,你页面上,你可以使用的数据具有相同值属性的能力。

例如:

<div class="links"> 
    <a href="#group-1">Group 1</a> 
    <a href="#group-2">Group 2</a> 
    <a href="#group-3">Group 3</a> 
    </div> 

    <div class="some-class" data-id="group-1"></div> 
    <div class="some-class" data-id="group-1"></div> 
    <div class="some-class" data-id="group-2"></div> 
    <div class="some-class" data-id="group-3"></div> 
    <div class="some-class" data-id="group-2"></div> 

然后:

var $links = $('.links').find('a'); 

$links.on('click', function (e) { 
    e.preventDefault(); 

    var group = $(this).attr('href').replace('#', ''); 

    $('.some-class').hide(); 
    $('.some-class[data-id="' + group + '"]').show(); 
}); 
相关问题