Javascript 如何得到一个div的孩子
用户可以通过按下按钮选择感兴趣的特定主题。当这种情况发生时,各种div将变为可见或不可见,这取决于该div是否有指向该主题的链接 函数GetPostsByTopic(主题){ var区域=document.getElementById(“postArea”); var topicAreas=area.getElementsByClassName(“topicArea”); 对于(i=0;iJavascript 如何得到一个div的孩子,javascript,html,Javascript,Html,用户可以通过按下按钮选择感兴趣的特定主题。当这种情况发生时,各种div将变为可见或不可见,这取决于该div是否有指向该主题的链接 函数GetPostsByTopic(主题){ var区域=document.getElementById(“postArea”); var topicAreas=area.getElementsByClassName(“topicArea”); 对于(i=0;i-1){ //如果可以避免,请不要使用内联样式。 //而是使用预先制作的类。 area.classList
宠物
假期
宠物
假期
宠物
孩子不是问题所在。运行代码时,会出现错误“UncaughtTypeError:无法将属性'innerHTML'设置为null”
。查看使用.innerHTML
的代码,我们发现您试图引用此代码中没有的元素:
document.getElementById("firstTest")
现在,在添加之后,您仍然有一些项目需要更改
asp操作
和asp路由名称
是无效的HTML。你用的是一个电话吗
需要这种语法的框架
- 在结果上使用和
更容易循环
- 不使用HTML字符串时不要使用,因为这样做会影响安全性和性能。
尽可能避免使用内联样式。使用它们会导致代码重复,代码更难扩展。相反,使用CSS类和API
单击按钮时,不太清楚应该发生什么,但请参见下面的更新代码:
函数GetPostsByTopic(主题){
var区域=document.getElementById(“postArea”);
//不要使用.getElementsByCassName(),因为它提供了一个活动节点列表
//并且会对性能造成相当大的影响,尤其是在循环中使用时。
//使用.querySelectorAll(),然后对该集合使用.forEach()
//它返回以迭代它们。
area.queryselectoral(“.topicArea”).forEach(函数(区域){
var主题=[];
//这里不需要儿童。同样,使用.querySelectorAll()
area.querySelectorAll(“*”).forEach(函数(子){
topics.push(child.getAttribute(“asp路由名称”);
document.getElementById(“firstTest”).textContent=child.getAttribute(“asp路由名称”);
});
if(topics.indexOf(topic)>-1){
//如果可以避免,请不要使用内联样式。
//而是使用预先制作的类。
area.classList.add(“隐藏”);
}
否则{
area.classList.remove(“隐藏”);
}
});
}
/*尽可能使用CSS类而不是内联样式*/
.hidden{display:none;}
宠物
假期
宠物
假期
宠物
孩子不是问题所在。运行代码时,会出现错误“UncaughtTypeError:无法将属性'innerHTML'设置为null”
。查看使用.innerHTML
的代码,我们发现您试图引用此代码中没有的元素:
document.getElementById("firstTest")
现在,在添加之后,您仍然有一些项目需要更改
asp操作
和asp路由名称
是无效的HTML。你用的是一个电话吗
需要这种语法的框架
- 在结果上使用和
更容易循环
- 不使用HTML字符串时不要使用,因为这样做会影响安全性和性能。
尽可能避免使用内联样式。使用它们会导致代码重复,代码更难扩展。相反,使用CSS类和API
单击按钮时,不太清楚应该发生什么,但请参见下面的更新代码:
函数GetPostsByTopic(主题){
var区域=document.getElementById(“postArea”);
//不要使用.getElementsByCassName(),因为它提供了一个活动节点列表
//并且会对性能造成相当大的影响,尤其是在循环中使用时。
//使用.querySelectorAll(),然后对该集合使用.forEach()
//它返回以迭代它们。
area.queryselectoral(“.topicArea”).forEach(函数(区域){
var主题=[];
//这里不需要儿童。同样,使用.querySelectorAll()
area.querySelectorAll(“*”).forEach(函数(子){
topics.push(child.getAttribute(“asp路由名称”);
document.getElementById(“firstTest”).textContent=child.getAttribute(“asp路由名称”);
});
if(topics.indexOf(topic)>-1){
//如果可以避免,请不要使用内联样式。
//而是使用预先制作的类。
area.classList.add(“隐藏”);
}
否则{
area.classList.remove(“隐藏”);
}
});
}
/*尽可能使用CSS类而不是内联样式*/
.hidden{display:none;}
宠物
假期
宠物
假期
宠物
我希望这就是你想要做的。根据您单击的按钮,将显示相应的div
函数