如何使用名称和ID隐藏元素(如何隐藏)

时间:2018-03-14 17:13:31

标签: javascript

我想仅使用java脚本隐藏包含“Prasad”的span标记。 你可以看到div标签也有同样的id,我根本不想隐藏。

<body onload="onLoad();">
    <div id="123">div</div>
    <li id="test">
        <span id="123" class="alert" >Prasad</span>
    </li>
    <li id="test">
        <span  id="456" class="alert" >Mphasis</span>
    </li>
</body>

<script type="text/javascript">
function onLoad()
{
    var x= document.getElementById("123").getElementsByClassName("alert");
    x.style.display="none"; --->> getting error here as undefine
}
</script>

2 个答案:

答案 0 :(得分:0)

$('#yourFormId').submit(function() { // Something return true; // True submit your form. //return false; // False cancel your form. }); 应该是唯一的。相反,您应该使用id并使用element.classList.contains这样检查元素是否包含class提醒

&#13;
&#13;
class
&#13;
function onLoad() {
  var x = document.getElementsByClassName("123")
  for (var i = 0; i < x.length; i++) {
    if (x[i].classList.contains("alert")) {
      x[i].style.display = "none";
    }
  }

}
&#13;
&#13;
&#13;

P.S <body onload="onLoad();"> <div class="123">div</div> <li class="test"> <span class="123 alert">Prasad</span> </li> <li class="test"> <span id="456" class="alert">Mphasis</span> </li> </body>返回一个Object

数组

答案 1 :(得分:0)

尝试将当前id="test"更改为class="test"。正如其他用户所提到的,ID应该是唯一的。

然后,您可以将id添加到要隐藏的<li>元素中。 所以你的代码看起来像这样:

<body onload="onLoad()">
  <div class="123">div</div>
  <li class="test" id="prasad">
    <span class="123 alert">Prasad</span>
  </li>
  <li class="test">
    <span id="456" class="alert">Mphasis</span>
  </li>
</body>

然后您可以使用jQuery隐藏'Prasad'元素,如下所示:

$('#prasad').css({display:"none"});

这将在onLoad()函数

中完成