
javascript当中getElementById的使用方法
<body><divid="recom_box"><ulclass="title"><liid="recom_boxtag1"class="on"onmouseover=...
<body>
<div id="recom_box">
<ul class="title">
<li id="recom_boxtag1" class="on" onmouseover="testattrib(1,3,recom_box);">公告1</li>
<li id="recom_boxtag2" class="" onmouseover="testattrib(2,3,recom_box);">公告2</li>
<li id="recom_boxtag3" class="" onmouseover="testattrib(3,3,recom_box);">公告3</li>
</ul>
</div>
</body>
</html>
js为
function getid(value)
{
return document.getElmentById(value);
}
function testattrib(curnum,totnum,idname)
{
for(var i=1;i<=totnum;i++)
{
getid(idname+"tag"+i).className="";
}
getid(idname+"tag"+curnum).className="on"
}
可是为什么getid返回的是[object HTMLdiv],而不是将所获取到的id的className设置为on? 展开
<div id="recom_box">
<ul class="title">
<li id="recom_boxtag1" class="on" onmouseover="testattrib(1,3,recom_box);">公告1</li>
<li id="recom_boxtag2" class="" onmouseover="testattrib(2,3,recom_box);">公告2</li>
<li id="recom_boxtag3" class="" onmouseover="testattrib(3,3,recom_box);">公告3</li>
</ul>
</div>
</body>
</html>
js为
function getid(value)
{
return document.getElmentById(value);
}
function testattrib(curnum,totnum,idname)
{
for(var i=1;i<=totnum;i++)
{
getid(idname+"tag"+i).className="";
}
getid(idname+"tag"+curnum).className="on"
}
可是为什么getid返回的是[object HTMLdiv],而不是将所获取到的id的className设置为on? 展开
2个回答
展开全部
定义和用法
getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用。
语法
document.getElementById(id)
说明
HTML DOM 定义了多种查找元素的方法,除了 getElementById() 之外,还有 getElementsByName() 和 getElementsByTagName()。
不过,如果您需要查找文档中的一个特定的元素,最有效的方法是 getElementById()。
在操作文档的一个特定的元素时,最好给该元素一个 id 属性,为它指定一个(在文档中)唯一的名称,然后就可以用该 ID 查找想要的元素。
例子
<html>
<head>
<script type="text/javascript">
function getValue()
{
var x=document.getElementById("myHeader")
alert(x.innerHTML)
}
</script>
</head>
<body>
<h1 id="myHeader" onclick="getValue()">This is a header</h1>
<p>Click on the header to alert its value</p>
</body>
</html>
document.getElementById()是js对于页面动态的处理,配合PHP使用最佳,通常用AJAX后台网络处理.
展开全部
你写的有一些拼写错误
<html>
<head>
<script type="text/javascript">
function getid(value)
{
return document.getElementById(value);
}
function testattrib(curnum,totnum,idname)
{
for(var i=1;i<=totnum;i++)
{
getid(idname+"tag"+i).className="";
}
getid(idname+"tag"+curnum).className="on";
}
</script>
</head>
<body>
<div id="recom_box">
<ul class="title">
<li id="recom_boxtag1" class="on" onmouseover="testattrib(1,3,'recom_box');">公告1</li>
<li id="recom_boxtag2" class="" onmouseover="testattrib(2,3,'recom_box');">公告2</li>
<li id="recom_boxtag3" class="" onmouseover="testattrib(3,3,'recom_box');">公告3</li>
</ul>
</div>
</body>
</html>
追问
我看了下,没有错误啊。我是将js文件引用进去的。将鼠标放到公告1上,运行到for 循环里面的getid,然后按F11再单步调试,随后跳到function getid里面执行,但是,此时执行看到firebug右边的值为[object HTMLDivElement]。再按F11回到for 循环里面的getid,再按就直接退出了。没有达到给选定的id的class进行赋值。
追答
1 你的getElementById拼错了 自己查一下行不
2 onmouseover里面第三个变量是要加引号的 你没加
主要就是这两个问题
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询