2016-04-29 114 views
0

尝试在点击时更改div中的某些内容。找到了一个解决方案,但它只适用于ID。只更改一个div的内容。如何解决它?如何更改点击中的内容?

$(document).ready(function() {  
$("#buttons a").click(function() { 
    var id = $(this).attr("id"); 
    $("#pages div").css("display", "none"); 
    $("#pages div#" + id + "").css("display", "block"); 
    });}); 

这里是Jsfiddle

更新。 编辑Jsfiddle一点点。下面是图片:第n个孩子:()选择:

enter image description here

+0

$(“#pages div”)这是更改所有div的部分吗? –

+0

您可以使用'.classname'或'[attribute = value]'或简单的'[attribute]'来更改'#idselectors'。你有很多可能的选择器在CSS中使用/ javascript –

+0

我会使用类而不是设置内联样式。我确实试图用一个例子来更新你的小提琴,但不清楚究竟是想要展示和隐藏什么。 – kwelch

回答

1

不知道如果我理解正确的,但如果你想改变多个div的内容,你可以做这样的:

https://jsfiddle.net/Airrudi/mA8hj/139/

$(document).ready(function() {  
    $("button").click(function() { 
     var content = $(this).data('content'); 
     $('#pages .allowChange p').html(content); 
    });  
}); 

您是否可以详细阐述一下您的问题,如果这不是您正在寻找的?

+0

已编辑帖子。你的选择看起来不错!谢谢! – QuackZilla

1

您可以通过使用获得的第一个div。阅读 这个Here

$(document).ready(function() {  
    $("#buttons a").click(function() { 
    var id = $(this).attr("id"); 
    $("#pages div:nth-child(1)").css("display", "none"); 
    $("#pages div#" + id + "").css("display", "block"); 
    }); 
}); 
+0

你可以使用':first'而不是':nth-​​child(1)',如果这就是你需要的全部 – CAbbott

+1

@CAbbott问题说任何1 div,所以我认为它可能不是第一个。 –