JS获取DIV或TD的内容进行判断并隐藏

我想判断DIV里或TD或P标签里出现的内容..
出现了特定的内容就隐藏..
遇到了一些困难...望高手解答..

JS部分:
<script language="javascript" type="text/javascript">
var a=document.getElementById("kkk").innerText;
if(a == "qqq")
document.getElementById("kkk").style.display = "none";

var a=document.getElementById("qwe").innerHTML;
if(a == "qqq")
document.getElementById("qwe").style.display = "none";

</script>
----------------------------------------------------------------------------------------------------------
或则DIV的值或则是TD的值..
不管用 innerText 或 innerHTML 或 value..都提示:
错误: 无法获取属性“style”的值: 对象为 null 或未定义
错误: 无法获取属性“innerHTML”的值: 对象为 null 或未定义
HTML部分:
--------------------------------------------------------------------------------------------------------
<div id="kkk" style="display:block;">
qqq
</div>
<table width="100%" border="0">
<tr>
<td id="qwe">qqq</td>
</tr>
</table>

怎么试DIV和table都不能隐藏..

你这段js放在哪的?如果在head里,dom都没有加载完,他就执行了,当然找不到相应的元素了。。。所以要写在加载事件之后。。。

window.onload = function() {
    var kkk = document.getElementById('kkk'),
        qwe = document.getElementById('qwe');
    if (kkk.innerText == "qqq") {
        kkk.style.display = "none";
    }
    if (qwe.innerText == "qqq") {
        qwe.style.display = "none";
    }
}

另外,一般会有个触发机制,上边这样写是能实现的,但是真正用的时候肯定不这么写

追问

放在下面果断就可以了..
还有就是做判断的时候.
if(kkk == "qqq")
if (kkk.innerText == "qqq")
都不起作用..
是要把 a 转换为 string 之类的字符型吗?

追答

js是弱类型的,不用考虑类型转换,不起作用肯定是取错了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-24

测试了一下

没有出现table不能隐藏的情况!

不管是IE FF CHROME 都可以隐藏table!

div不能隐藏式因为不同浏览器JS获取DIV中内容函数不一样

document.getelementbyid("ddhdh").innerHTML  可以获取到div中的全部数据,包括标签。。。但是只是在IE和OPERA中使用


document.getelementbyid("ddhdh").innerTEXT  可以获取到div中的文本数据,不会获取到标签。。。但是只是在IE和OPERA中使用


document.getElementById(“text”).textContent  用于在FF CHROME中获取数据  

兼容的JS:

if(navigator.appName.indexOf(“Explorer”) > -1)         
  var text = document.getElementById(“kkk”).innerText;
else
var text = document.getElementById(“kkk”).textContent;


第2个回答  2013-09-24
js 应该放在DIV和td后面,id出现后才可以用js获取
第3个回答  2013-09-24
js部分是放在页面上面还是下面啊 应该放在下面才对