JS判断DIV中的内容,隐藏整个DIV

在 id为kk之内的DIV中 ,有class="Page"的DIV若干
<div id=kk>

<div class="Page">
<a href="#" id="c123">test</a>
abc123
</div>

</div>
除了id="cxxx" 之外,其他都是一样的..想人为的加入id的条件对div进行隐藏,因为id是a标签的而非DIV的id,所以不知道怎么操作..望赐教..

JS-------------------------------------- 这样写好像不能实现, if(str[i].a.id=="c123")这种写法不规范..不知道怎么表现符合id=cxxx的父级DIV进行隐藏..用parentNode吗?
<script>
var list=document.getElementById("kk"); //获取检索范围
var str=list.getElementsByTagName("div"); /获取检索内容块
for(var i=0;i<str.length;i++) //遍历内容块
if(str[i].className=="Page") //判断类名是否为Page
if(str[i].a.id=="c123") //判断内容是否为指定
str[i].style.display="none"; //满足条件内容隐藏显示
</script>

第二个JS-----------------------------
<script language="JavaScript">
{

document.getElementById("c_2563").style.display="none";
}
</script>
倒是可以直接这样写,但是只隐藏了a标签的内容,DIV还在..望指教...

你好,你可以将div设置个独立的id,然后通过a标签的id,找到父节点的id, var obj = document.getElementById('cxxx');objParent = obj.parentNode;
这句话隐藏div:document.getElementById("div的id").style.display="none";追问

你好,因为DIV是CMS系统生成的,不能人为控制..
A标签的ID也是系统生成的,所以只能知道他产生什么ID以后认为的修改JS对这个a标签所在的DIV进行隐藏...

追答

这个是找到id为kk下面的所有div
var div= document.getElementById('kk').getElementsByTagName("div");
循环找到div下第一个子节点的id
for(var i=0;i<div.length;i++)
{
var div2 =div.item(i).childNodes[0].id;
if(div2=='cxxx'){
//div.item(i).id为当前的div
div.item(i).style.display="none";
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-13

你可以用jquery来实现。

知道a标签的id就可以调用jquery的parent()方法,这个方法就是获取它的父类标签。

只要它的上面还有父级可以一直parent下去。。

$(document).ready(function(){
        $("#c_2563").parent().css('display','none');
})

追问

本地是可以的,但是传到服务器上,就会和上面的这个JS冲突,弱弱的问问怎么解决?

追答

不可能有冲突的。
你上面的$('chnlDesc')写错了吧。。 两个错误。
$('chnlDesc') 这里面的是id吗。 是的话是这样$('#chnlDesc')
jquery获取内容是这个方法 html(); innerText是javascript的获取方法.
希望采纳噢。。
谢谢。。

追问

恩,再劳烦您一下..

但是如果引用了

query-1.7.2.min.js"

这个Jquery库以后,就会出现下图错误:

不引用就不会错.在其他调用的JS文件中,那个文件中写了很多关于trim的方法..

这个引用的库中也有很多trim的方法.所以是不是冲突了?


希望能加下马化腾 : 一二四262408

追答

是你代码错了才导致冲突。。
你导入了jquery的文件就不要用$这个符号。 因为它里面没有innerText这个方法。
用了$这个符号就不要用javascript里面的方法。
企鹅已加。。
136897446。。
最后别望了采纳噢。。
谢谢。。

本回答被提问者采纳
第2个回答  2014-01-13
引入jquery库
<script type="text/javascript" src="http://wenku.it168.com/js/jquery-1.4.1.min.js"></script><script type="text/javascript">
$(".Page").each(function(){
if($(this).children("a").attr("id")=="c123"){
$(this).hide();
}
});
</script>追问

请问还有其他JS的方法吗?.

上图的这个Jquery和您的这个JS冲突..

引用以后其他功能不正常了..