Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用属性时的可选项=";“价值”;jQuery_Javascript_Jquery - Fatal编程技术网

Javascript 使用属性时的可选项=";“价值”;jQuery

Javascript 使用属性时的可选项=";“价值”;jQuery,javascript,jquery,Javascript,Jquery,单击按钮时,我试图隐藏所有并仅显示名称(attr)等于按钮id的div。我知道如何通过ID(但我需要显示多个元素,它们不能具有相同的ID)或通过类(但我需要类调用CSS)获取元素。所以,我试图通过attribute=“value”调用。如果我在住宅、商业和船舶之间手动更改“div[name='residential']”,我将获得所需的效果。因此,有人有办法帮助我吗?可能很简单,但我先从JavaScript和jQuery开始 $('.type btn')。单击(函数(){ $('.bill c

单击按钮时,我试图隐藏所有并仅显示名称(attr)等于按钮id的div。我知道如何通过ID(但我需要显示多个元素,它们不能具有相同的ID)或通过类(但我需要类调用CSS)获取元素。所以,我试图通过attribute=“value”调用。如果我在住宅、商业和船舶之间手动更改
“div[name='residential']”
,我将获得所需的效果。因此,有人有办法帮助我吗?可能很简单,但我先从JavaScript和jQuery开始

$('.type btn')。单击(函数(){
$('.bill cleaning,.type cleaning').hide();
$(“div[name='residential']”)show();
});

住宅的
商业的
船
住宅的
商业的
船
住宅账单

Bill Boat
您可以这样做:读取
按钮的
id
属性,隐藏所有
div
名称不匹配的
元素
id
,并仅显示
名称等于此
id
的div

$('.type btn')。单击(函数(){
让selected=$(this.attr(“id”);
$(“div[name!=“+selected+”]).hide();
$(“div[name=“+selected+”]).show();
});

住宅的
商业的
船
住宅的
商业的
船
住宅账单

Bill Boat
不确定您在哪里读到的属性值不能是变量,但@mathias_h已经清楚地证明了这一点以及如何做到这一点

以下是另一种方法:

$('.type-btn').click(function(){
    $('.bill-cleaning, .type-cleaning').hide()
    .filter((i,div) => $(div).attr('name') === this.id).show();
});
$('.type btn')。单击(函数(){
$('.bill cleaning,.type cleaning').hide()
.filter((i,div)=>$(div).attr('name')==this.id.show();
});

住宅的
商业的
船
住宅的
商业的
船
住宅账单

Bill Boat
它在这里工作得很好,但与整个代码存在一些冲突。我要去看看到底发生了什么。但您的代码所带来的结果正是我所期望的。@igortp很高兴我能够提供帮助并尽全力解决您当前的冲突。实际上没有冲突。在你进一步解释之后,我明白发生了什么。我不能隐藏所有不匹配的div,因为这样我就隐藏了我项目的所有div。我重新开始讨论这个话题,但我会尽力使你的建议适应我的需要。Thx@igortp我刚刚用一个同样有效的解决方案更新了我的答案:)似乎我误解了一个解释。我会更新这个问题,我不会误导别人。谢谢