读书人

100分求批改js:实现ul中最后一个li的

发布时间: 2013-02-24 17:58:56 作者: rapoo

100分求修改js:实现ul中最后一个li的style.borderRight设为none
我的本意是想实现:ul中最后一个li的style.borderRight设为none。

html码是:


<div id="navParent">
<ul>
<li></li>
<li></li>
………(这里由程序读取数据库生成)………
</ul>
</div>


我写的js是:

var getElm = document.getElementById("navParent").getElementsByTagName("LI");
getElm[getElm.length-1].style.borderRight = "none";


结果没有实现预期要求,
请问高手,我哪儿写错了,
麻烦帮忙改改!

感谢了!
[解决办法]
经我测试没有问题,

<!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" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<title>test</title>
<style type="text/css">
li{ border:1px dotted #ccc; margin-bottom:20px;}
</style>
</head>
<body>
<div id="navParent">
<ul>
<li>111</li>
<li>222</li>
<li>2223</li>
<li>2224</li>
</ul>
</div>
<script type="text/javascript">
var getElm = document.getElementById("navParent").getElementsByTagName("LI");
getElm[getElm.length - 1].style.borderRight = "none";
</script>
</body>
</html>

[解决办法]
没有问题,可能就js的位置问题也未可知,也许和浏览器版本有关。
[解决办法]
<div id="navParent">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<style>
li{border:solid 1px black}
body{background:#eeeeee}
</style>
<script language="javascript">
var getElm = document.getElementById("navParent").getElementsByTagName("LI");
alert(getElm.length)
getElm[getElm.length-1].style.borderRight = "none";
</script>

可以啊,FF12
[解决办法]
看你另外一个帖子,已经说了怎么获取节点了。firefox下空白节点也算一个节点,只有ie下空白节点不算

firefox肯定支持以js文件调用的,你的js文件要放到DOM结构下面,最好是window.onload中执行DOM操作,因为有些时候js放在DOM结构下面可能也会报错。

再window.onload中执行DOM操作时,js文件导入的位置可以再html结构前面,下面也行

func.js
window.onload=function(){
var getElm = document.getElementById("navParent").getElementsByTagName("LI");
alert(getElm.length)


getElm[getElm.length-1].style.borderRight = "none";
}


<script type="text/javascript" src="js/func.js"></script>
<div id="navParent">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<style>
li{border:solid 1px black}
body{background:#eeeeee}
</style>

读书人网 >JavaScript

热点推荐