如何使用javascript隐藏子元素

如何使用javascript隐藏子元素,javascript,Javascript,使用javascript不知道怎么做 如果不需要其他内容,请建议插入新的html var parentID = document.getElementById('wpq2'); var sub = parentID.getElementsByClassName('subClass'); var lastChild = sub[0].lastChild; lastChild.style.display = 'none'; document.getElementById('wpq2')。inner

使用javascript不知道怎么做


如果不需要其他内容,请建议插入新的html

var parentID = document.getElementById('wpq2');
var sub = parentID.getElementsByClassName('subClass');
var lastChild = sub[0].lastChild;
lastChild.style.display = 'none';
document.getElementById('wpq2')。innerHTML='newitem';

如果不需要其他html,请插入新的html

var parentID = document.getElementById('wpq2');
var sub = parentID.getElementsByClassName('subClass');
var lastChild = sub[0].lastChild;
lastChild.style.display = 'none';
document.getElementById('wpq2')。innerHTML='newitem';
试试这个:

document.getElementById('wpq2').innerHTML = '<a id="linkTO" class="subClass">New Item</a>';

试试这个:

document.getElementById('wpq2').innerHTML = '<a id="linkTO" class="subClass">New Item</a>';


或通过使用
forEach
subs.forEach(function(sub){sub.style.display='none';})摆脱迭代代码
@xtofl:forEach代码会将它们全部隐藏,包括第一个,谢谢,但我必须删除文本“或”和“此列表”also@prash:好的,我会调查的too@prash:查看我的编辑,它将删除您不想要的HTML,而不是隐藏它。您的需求可以接受吗?或者通过使用
forEach
subs.forEach(function(sub){sub.style.display='none';})摆脱迭代代码
@xtofl:forEach代码会将它们全部隐藏,包括第一个,谢谢,但我必须删除文本“或”和“此列表”also@prash:好的,我会调查的too@prash:查看我的编辑,它将删除您不想要的HTML,而不是隐藏它。你的要求可以接受吗?谁说什么?哪里请不要将评论作为解决方案的一部分,尤其是在其他答案上。它们很容易被删除抱歉,我只是更新了我的答案。我仍然是堆叠溢出道德的新手,谢谢你的建议。@prash:即使
forEach
有效,它在文本节点上的问题与我的原始答案(更新前)相同@Trupti:forEach在这种情况下不起作用,因为
subs
nodeList
而不是
Array
,谁说什么?哪里请不要将评论作为解决方案的一部分,尤其是在其他答案上。它们很容易被删除抱歉,我只是更新了我的答案。我仍然是堆叠溢出道德的新手,谢谢你的建议。@prash:即使
forEach
有效,它在文本节点上的问题与我的原始答案(更新前)相同@Trupti:forEach在这种情况下不起作用,因为
subs
nodeList
而不是
Array
var parentID = document.getElementById('wpq2');
//get the first inner DIV which contains all the a elements
var innerDiv = parentID.getElementsByClassName('subClass')[0];
//get all the a elements
var subs = innerDiv.getElementsByClassName('subClass');

//This will hide all matching elements except the first one
for(var i = 1; i < subs.length; i++){
   var a = subs[i];
   a.style.display = 'none';
}
var parentID = document.getElementById('wpq2');
//get the first inner DIV which contains all the a elements
var innerDiv = parentID.getElementsByClassName('subClass')[0];
//get the HTML for the a element to keep
var a = innerDiv.getElementsByClassName('subClass')[0].outerHTML;
//replace the HTML contents of the inner DIV with the element to keep
innerDiv.innerHTML = a;
    var parentID = document.getElementById('wpq2');
    var innerDiv = parentID.getElementsByClassName('subClass')[0];
    var subs = innerDiv.getElementsByClassName('subClass');
    subs.forEach(function (sub) { sub.style.display = 'none'; });
    document.getElementById("linkTO").style.display = 'block';