Javascript 如何使用嵌套的JQuery选择器显示所有内部div?

Javascript 如何使用嵌套的JQuery选择器显示所有内部div?,javascript,jquery,html,Javascript,Jquery,Html,这是我的代码,第一个选择器用于当我单击id为的div时,而内部选择器是id为popup的内部div-我的问题是如何仅显示当前内部div,因为当前当我单击时,页面上的所有内部div都显示和隐藏。旁注:这些div是通过php生成的,因此它们的值从1开始,然后递增。还有另一个问题,编写内部div选择器以显示而不是使用.filter进行显示和隐藏的更好方法是什么?我找不到一种方法将其用于内部选择器 例如,当我点击一个ID为1的外部div时,popup-1的内部div应该显示,而不是所有其他div $('

这是我的代码,第一个选择器用于当我单击id为的div时,而内部选择器是id为popup的内部div-我的问题是如何仅显示当前内部div,因为当前当我单击时,页面上的所有内部div都显示和隐藏。旁注:这些div是通过php生成的,因此它们的值从1开始,然后递增。还有另一个问题,编写内部div选择器以显示而不是使用.filter进行显示和隐藏的更好方法是什么?我找不到一种方法将其用于内部选择器

例如,当我点击一个ID为1的外部div时,popup-1的内部div应该显示,而不是所有其他div

$('div').filter(function(){
    return this.id.match(/^\d+$/);
}).click(function() {
    if($('div').filter(function () {
            return this.id.match(/popup-\d+$/);
        }).css('display') == 'none'
    ) {
        $('div').filter(function () {
            return this.id.match(/popup-\d+$/);
        }).show();  
    } else {
        $('div').filter(function () {
            return this.id.match(/popup-\d+$/);
        }).hide();
    };  
});
HTML


使用类而不是对ID进行过滤。然后,您需要获取您单击的元素的ID,并将其与popup-prefix连接,以获取您想要显示的元素的ID

$.test-style.clickfunction{ var id=this.id; $.internal-test.hide; $popup-+id.show; }; .测试风格{ 高度:100px; 宽度:100px; 背景色:红色; 边框:实心1px黑色; } .内部测试{ 高度:50px; 宽度:50px; 背景颜色:蓝色; } 你的过滤器

this.id.match(/popup-\d+$/)
匹配文档中的所有内部元素,因为使用了常规的“div”选择器

而不是

if($('div').filter(function () {
试一试


仅对单击元素的子元素进行筛选。

可以包括示例html吗?代码片段或JSFIDLE可以帮助更新带有html代码的帖子这只是个人考虑:使用find.internal-test而不是使用id会更简单吗?
if($('div').filter(function () {
if($(this).filter(function () {