帮忙修改个JAVASCRIPT方法。

临摹 2008-02-20 10:35:16

<html>
<head>
<script type="text/javascript" language="javascript">
function show(){
//取得文档所有的<a href>链接
var a=document.getElementsByTagName("a");
if (a!=null){
//遍历所有链接
for(var i=0;i<a.length;i++){
//如果链接的值(页面显示内容)为“22222222”
if(a的值==“22222222”){
//取得此连接的ID,取得上层的DIV,不管什么方法能取道上层DIV的ID就可以
var objs=document.getElementById("a的id");
//隐藏此DIV
//不能直接取得DIV的ID,要根据链接内容取得ID
objs.style.display="none";
}
}
}
}
</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>

实现的所有目的就是把<a href="eeeee" id="as1">22222222</a>隐藏,帮忙给改一下,用其他思路也可以
我取不到“22222222”和不知道怎么把他的ID传过去。
...全文
111 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackhuclan 2008-02-20
  • 打赏
  • 举报
回复
6楼正解,其他的没认真看
临摹 2008-02-20
  • 打赏
  • 举报
回复
谢谢上面几位了,方法都对。
我写的不对,我想隐藏的是DIV,不是单个上层元素。
如:

<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>

不隐藏显示出来是:
链接1: 11111111
链接2: 22222222
链接3: 33333333
链接4: 44444444
隐藏后:
链接1: 11111111
链接3: 33333333
链接4: 44444444
功能是:我在文档中找到“22222222”,然后隐藏相对应的那个DIV
patchclass 2008-02-20
  • 打赏
  • 举报
回复
//取得此连接的ID,取得上层的DIV,不管什么方法能取道上层DIV的ID就可以
var objs=document.getElementById("a的id");
//隐藏此DIV
//不能直接取得DIV的ID,要根据链接内容取得ID

for(var i=0;i<a.length;i++){
var ss = a[i].parentNode // 这样就获取了上层节点
var len = a[i].parentNode.childNodes.length;
for(var j=0;j<len;j++){
a[i].parentNode.childNodes[j].innerHTML ///自己判断内容即可
}
// 通过 a[i].parentNode.childNodes[j].innerHTML 获取全部子节点数量,然后循环判断节点的innerHTML即可
}
  • 打赏
  • 举报
回复
很简单也有很多方法
6,7都已经给出答案了
当然还有8楼给的那个也是一种方法
lsc1202001 2008-02-20
  • 打赏
  • 举报
回复
想方便 用JQuery 它的抓取很强大
littlelam 2008-02-20
  • 打赏
  • 举报
回复
你可以遍历div 用indexOf来判断是否符合要求
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";
}
}
}
</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>
littlelam 2008-02-20
  • 打赏
  • 举报
回复

<html>
<head>
<script type="text/javascript" language="javascript">
function show(){
//取得文档所有的<a href>链接
var a=document.getElementsByTagName("a");
if (a!=null){
//遍历所有链接
for(var i=0;i<a.length;i++){
//如果链接的值(页面显示内容)为“22222222”
if(a[i].innerHTML=="22222222"){
//取得此连接的ID,取得上层的DIV,不管什么方法能取道上层DIV的ID就可以
//var objs=document.getElementById("a的id");
//隐藏此DIV
//不能直接取得DIV的ID,要根据链接内容取得ID
a[i].parentNode.style.display="none";
}
}
}
}
</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>


临摹 2008-02-20
  • 打赏
  • 举报
回复
不好意思,没说清楚,直接得到一个父对象是不行的,因为在程序里面他的上层对象还有<td><tr>什么的
<DIV>在这些td,tr之上。
BaseScript 2008-02-20
  • 打赏
  • 举报
回复
if(a[i].innerHTML=="22222222")
{
a[i].innerHTML="";
}
BaseScript 2008-02-20
  • 打赏
  • 举报
回复
<script type="text/javascript" language="javascript">
function show(){
//取得文档所有的<a href>链接
var a=document.getElementsByTagName("a");
if (a!=null){
//遍历所有链接
for(var i=0;i<a.length;i++){
//如果链接的值(页面显示内容)为“22222222”
if(a的值==“22222222”){
//取得此连接的ID,取得上层的DIV,不管什么方法能取道上层DIV的ID就可以
var objs=GetParent(a[i])
//隐藏此DIV
//不能直接取得DIV的ID,要根据链接内容取得ID
objs.innerHTML="";
}
}
}
}
function GetParent(objLI){
var objRetVal = null;
if( objLI != null && objLI.parentElement != null ){
objRetVal = objLI.parentElement;
}
if(objRetVal==null){
objRetVal = objLI.parentNode;
}
return objRetVal;
}
</script>
临摹 2008-02-20
  • 打赏
  • 举报
回复
<a href="eeeee" id="as1">22222222</a>标签的内容可以任意改动
只要不改动链接地址和显示内容就可以了,比如改成:
<a href="eeeee" title="as1">22222222</a>什么的,
把上层DIV的 ID放到那里都行,只要方便取到就好。
BaseScript 2008-02-20
  • 打赏
  • 举报
回复

得到父对象
function GetParent(objLI){
var objRetVal = null;
if( objLI != null && objLI.parentElement != null ){
objRetVal = objLI.parentElement;
}
if(objRetVal==null){
objRetVal = objLI.parentNode;
}
return objRetVal;
}
临摹 2008-02-20
  • 打赏
  • 举报
回复
谢谢,在开一贴,大家继续帮忙。

87,910

社区成员

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

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