首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏具有指定id的元素

问隐藏具有指定id的元素
EN

Stack Overflow用户
提问于 2011-07-07 22:47:14
回答 2查看 1.7K关注 0票数 3

我有两个不同的div

代码语言:javascript
复制
var promptContent = $('<div id="errorr">').addClass("formErrorContent").html(promptText).appendTo(prompt);
var arrow = $('<div id="errorrarrow">').addClass("formErrorArrow");

我想在javascript中使用他们的id,如下所示

代码语言:javascript
复制
  function windowclose()
{
    document.getElementById('add_project').style.display="none";
    document.getElementById('blanket').style.display="none";
    document.getElementById('errorr').style.display="none";
    document.getElementById('errorrarrow').style.display="none";

//     $("#blanket").fadeIn("none");
//        $("#add_project").fadeIn("none");
}

但在这里它只隐藏了第一个div。我想隐藏具有相同id的所有div。我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-07 23:27:17

尽管在许多元素上使用相同的ID在语义上是无效的,但您可以在单个jQuery行中执行此操作。

代码语言:javascript
复制
$('#errorr, #errorrarrow').hide();
票数 1
EN

Stack Overflow用户

发布于 2011-07-07 23:01:46

在使用名称或id之间选择:

getElementsByName('errorr')在DOM中搜索名为errorr的元素

getElementById('errorr')在DOM中查找id等于errorr的元素;

尝试更改您的代码:

代码语言:javascript
复制
document.getElementsByName('errorr').style.display="none";
document.getElementsByName('errorrarrow').style.display="none";

至

代码语言:javascript
复制
document.getElementById('errorr').style.display="none";
document.getElementsById('errorrarrow').style.display="none";

还要注意,DOM必须具有所有唯一的ID(作为规则)

更新:

如果需要隐藏一组div,我通常会添加一个类,比如.element-to-hide

代码语言:javascript
复制
<div id="asd" class="element-to-hide">...
<div id="lol" class="element-to-hide">...
<div id="foo" class="element-to-hide">...

在接触jQuery之后的蚂蚁

代码语言:javascript
复制
$('.element-to-hide').each(function(){
  $(this).hide();
});

希望这对你有所帮助

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6612514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档