javascript节点操作,下面这段代码,隐藏body下的最后一个节点元素怎么不执行
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>
window.onload=function()
{
var s=document.firstChild.firstChild.nextSibling;
var s1=s.lastChild;
s1.style.display="none";
}
</script>
</head>
<body>
<div class="div1">122</div>
<div>223</div>
</body>
</html> 展开
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>
window.onload=function()
{
var s=document.firstChild.firstChild.nextSibling;
var s1=s.lastChild;
s1.style.display="none";
}
</script>
</head>
<body>
<div class="div1">122</div>
<div>223</div>
</body>
</html> 展开
展开全部
document没有fisterChild属性吧。你可以用console.log输出一下看看。
如果你想准确定位一个节点,最好用id的方式。我用document.getElementsByTagName("body")[0].lastChild 得到的是一个text节点,内容是换行符,也就是最后一个div和</body>之间的换行。
所以你要控制Div,最好用getElementById的方式。或者getElementsByTagName("div")得到一个数值,取最后一个元素。
如果你想准确定位一个节点,最好用id的方式。我用document.getElementsByTagName("body")[0].lastChild 得到的是一个text节点,内容是换行符,也就是最后一个div和</body>之间的换行。
所以你要控制Div,最好用getElementById的方式。或者getElementsByTagName("div")得到一个数值,取最后一个元素。
展开全部
虽然你的思路对,但是用错方法了
document.firstChild获取到的是
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
这一句,其他的接下去就错了
你如果想要这样获取
可以
var s=document.body.firstChild
这样子去获取,加上body
但是不推荐,存在兼容性问题
你可以这样子
var s=document.getElementsByTagName("div");
var len = s.length;
s[len-1].style.display="none";
这样就可以隐藏最后一个div了
document.firstChild获取到的是
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
这一句,其他的接下去就错了
你如果想要这样获取
可以
var s=document.body.firstChild
这样子去获取,加上body
但是不推荐,存在兼容性问题
你可以这样子
var s=document.getElementsByTagName("div");
var len = s.length;
s[len-1].style.display="none";
这样就可以隐藏最后一个div了
追问
谢谢您细心的解答。明白了。还有个问题想问您,网站上出现一个问题,就是有一个小广告,在源代码里面查看不到。但是产看属性能看得到。就是找不到在哪修改。大神有什么建议吗
追答
你试试用火狐或者谷歌浏览器,然后按F12,弹出调试面板,用里面的箭头工具,选择一下那个广告图,就可以看到源码了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询