帮忙看个JAVASCRIPT方法。

临摹 2008-02-20 01:54:52

<html>
<head>
<script language="javascript">
function show(){
var list=document.getElementsByTagName("div");
alert("div标签个数:"+list.length); //为什么这里取出的个数是8?
if (objs!=null){
for(var i=0;i<objs.length;i++){
var a=objs[i].getElementsByTagName("a"); //取出<a href的元素
if (a!=null){
for(var j=0;j<a.length;j++){
alert(a[j].innerHTML);
if(a[j].innerHTML=="22222222"){ //如果<a>的值是"22222222",隐藏这个 DIV
objs[i].style.display="none";
}
}
}
}
}
}
</script>
</head>

<body onload="show()">
<table>
<div id="as">
<tr>
<td>链接1:</td>
<td>
<a href="aaaaa" id="as">11111111</a>
</td>
</tr>
</div>
<div id="as1">
<tr>
<td>链接2:</td>
<td>
<a href="eeeee" id="as1">22222222</a>
</td>
</tr>
</div>
<div id="as2">
<tr>
<td>链接3:</td>
<td>
<a href="aaaaa" id="as2">33333333</a>
</td>
</tr>
</div>
<div id="as3">
<tr>
<td>链接4:</td>
<td>
<a href="eeeee" id="as3">44444444</a>
</td>
</tr>
</div>
</table>
</body>
</html>

网页显示的是:
链接1: 11111111
链接2: 22222222
链接3: 33333333
链接4: 44444444
而我想实现的是,把<a href>内容为“22222222”的DIV隐藏:
链接1: 11111111
链接3: 33333333
链接4: 44444444


帮忙看看是那里错了,要不帮忙另外写个方法也可以,
可以把<a href="eeeee" id="as1">22222222</a> 标签里面任意加上上层DIV的ID,如改成
<a href="eeeee" id="as1" title="as1">22222222</a>等等。
...全文
108 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
JavCof 2008-02-20
  • 打赏
  • 举报
回复
看看这个能不能帮到你

<html>
<head>
<script language="javascript">
function show(){
var list=document.getElementsByTagName("div");
alert("div标签个数:"+list.length); //为什么这里取出的个数是8
var links = document.getElementsByName("link");
for (var i = 0; i < links.length; i++)
{
if (links[i].innerHTML == "22222222")
{
links[i].parentNode.parentNode.style.display = "none";
}
}
}
</script>
</head>

<body onload="show()">
<div id="as">
<span>链接1:</span>
<span><a href="aaaaa" id="as" name="link">11111111</a></span>
</div>
<div id="as1">
<span>链接2:</span>
<span><a href="eeeee" id="as1" name="link">22222222</a></span>
</div>
<div id="as2">
<span>链接3:</span>
<span><a href="aaaaa" id="as2" name="link">33333333</a></span>
</div>
<div id="as3">
<span>链接4:</span>
<span><a href="eeeee" id="as3" name="link">44444444</a></span>
</div>
</body>
</html>
cloudgamer 2008-02-20
  • 打赏
  • 举报
回复
lz在ie看看
alert(document.body.innerHTML);

就知道为什么是8个了

tr这样嵌在div中ie会发傻
Go 旅城通票 2008-02-20
  • 打赏
  • 举报
回复
function FindParentNode(currentNode)
{
var p=currentNode.parentNode;
//加个p判断,防止访问到html节点还没找到你要的节点,防止出错
while(p&&p.tagName!="你想要的父亲节点")//这里条件可以自己改
{
p=p.parentNode;//获取父亲的父亲
}
return p;
}
Go 旅城通票 2008-02-20
  • 打赏
  • 举报
回复
你使用下面的函数找父亲节点,直到找到你要找的父亲节点

function FindParentNode(currentNode)
{
var p=currentNode.parentNode;
while(p.tagName!="你想要的父亲节点")//这里条件可以自己改
{
p=p.parentNode;//获取父亲的父亲
}
return p;
}
JavCof 2008-02-20
  • 打赏
  • 举报
回复
XHTML 结构问题 JS掉用出现问题

就第一个问题 解释器<div>后面出现<tr>解析器解析出错

<body onload="show()">
<table>
<div id="as">
<span>链接1:</span>
<span><a href="aaaaa" id="as">11111111</a></span>
</div>

</table>
</body>

结构改成这样就能得到正确的结果
  • 打赏
  • 举报
回复
你的DIV不是命名不是有规律吗?
这个很好办啊!
临摹 2008-02-20
  • 打赏
  • 举报
回复
谢谢,能帮我看看我写的那里错了吗?
我这只是简化写了个网页,实际我要修改的网页比这个复杂多了,
其中要去掉的“22222222”有许多
我不能确定每个要去掉的都文字都向上找几层就到<tr>或者<div>标签了。
Go 旅城通票 2008-02-20
  • 打赏
  • 举报
回复
看错了,不好意思,你的html代码也太不规则了吧???你隐藏tr行不就行了??


<html>
<head>
<script language="javascript">
function show(){
var list=document.getElementsByTagName("div");
//alert("div标签个数:"+list.length); //为什么这里取出的个数是8?
//if (objs!=null){//=====可以不用要了,getElementsByTagName返回的都是数组,只是有没有元素而已
//for(var i=0;i<objs.length;i++){
var a=document.getElementsByTagName("a"); //取出<a href的元素
//if (a!=null){
for(var j=0;j<a.length;j++){
//alert(a[j].innerHTML);
if(a[j].innerHTML=="22222222"){ //如果<a>的值是"22222222",隐藏这个 DIV
//a[j].parentNode=td,a[j].parentNode.parentNode=tr
a[j].parentNode.parentNode.style.display="none";
}
}
// }
// }
// }
}
</script>
</head>

<body onload="show()">
<table>
<tr>
<td>链接1:</td>
<td>
<a href="aaaaa" id="as">11111111</a>
</td>
</tr>
<tr>
<td>链接2:</td>
<td>
<a href="eeeee" id="as1">22222222</a>
</td>
</tr>
<tr>
<td>链接3:</td>
<td>
<a href="aaaaa" id="as2">33333333</a>
</td>
</tr>
<tr>
<td>链接4:</td>
<td>
<a href="eeeee" id="as3">44444444</a>
</td>
</tr>
</table>
</body>
</html>
临摹 2008-02-20
  • 打赏
  • 举报
回复
to:showbo 我吧body内容改了一下,你这样写只能隐藏22222222
不能把 “链接2:”这个也隐藏。
想隐藏那个 DIV。
Go 旅城通票 2008-02-20
  • 打赏
  • 举报
回复
没看我回复??
<html>
<head>
<script type="text/javascript" language="javascript">
function show(){
//取得文档所有的<a href>链接
var a=document.getElementsByTagName("a");
var p; //定义父节点
for(var i=0;i<a.length;i++){
if(a[i].innerHTML=="22222222"){
p=a[i].parentElement?a[i].parentElement:a.parentNode;//获取父亲节点
p.style.display="none";//隐藏div
}
}
}
</script>
</head>

<body onload="show()">
<div id="as">
<a href="aaaaa" id="as">11111111</a>
</div>
<div id="as1">
<a href="eeeee" id="as1">22222222</a>
</div>
<div id="as2">
<a href="aaaaa" id="as2">33333333</a>
</div>
<div id="as3">
<a href="eeeee" id="as3">44444444</a>
</div>
</body>
</html>

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧