0

我从数据库中动态获取超链接和段落,我希望隐藏/显示这些段落。如何使用 jquery 仅显示/隐藏特定链接的隐藏段落,而不是显示所有段落?

<body>
<a href="#">first link</a>
<p>Show this when I click first link</p>

<a href="#">second link</a>
<p>Show this when I click second link</p>

<script>
$( "p" ).hide();
$( "a" ).click(function( event ) {
    event.preventDefault();
    $( "p" ).show();
});
</script>
</body>
4

2 回答 2

2

改变:

$( "a" ).click(function( event ) {
    event.preventDefault();
    $( "p" ).show();
});

至:

$( "a" ).click(function( event ) {
    event.preventDefault();
    $(this).next().show();
});

jsFiddle 示例

请注意,如果您愿意,您也可以使用.toggle()而不是在显示/隐藏之间切换.show()

于 2013-11-03T20:19:02.277 回答
0

最简单的方法是给每个段落一个唯一的 id 并将其存储在链接中。像这样(在这里小提琴

html

<a href="#" rel="p-1">first link</a>
<p id="p-1">Show this when I click first link</p>

<a href="#" rel="p-2">second link</a>
<p id="p-2">Show this when I click second link</p>

javascript

$('a').on('click', function(e) {
    e.preventDefault();
    $('#'+$(this).attr('rel')).slideToggle();
});

例如,其他选项可以是查找特定类型的第一 个子项(例如 app具有特定类的 a )。无论以何种方式找到您想要的元素都适合您。最适合您的主要取决于您的页面结构。

于 2013-11-03T20:26:09.937 回答