超级郁闷!!!FireFox里面没有innerHTML ................... <DIV id="xxx" ></DIV><script type="text/javascript"> function test(){ if(document.getElementById("xxx").innerHTML == ""){//要兼容firefox,这里该怎么写??? ...... }}</script>请不要随便说是兼容的,我试验过N次了(IE8/FF3.5.7),firefox就是不认!!拜托各位拉,谢谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 FF下可以呀,测试代码:<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>test</title></head><body><DIV id="xxx" ></DIV><script type="text/javascript"> function test(){ if(document.getElementById("xxx").innerHTML == ""){ document.getElementById("xxx").innerHTML = "可以呀" }}test();</script></body></html> 连续两次呢??也就是给div加内容之后再判断呢? 我给div加两个子div,这个判断还是能通过!!所以才郁闷!! <DIV id="xxx" ></DIV><script type="text/javascript"> function test(){ if(document.getElementById("xxx").innerHTML == ""){ ......//这里添加一个子div }}</script>问题是该方法调用几次,就会添加几个子div我是想如果已经有添加子div,就不再添加。。 document.getElementById("xxx").textContent == "" //兼容firefox 还是可以呀<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>test</title></head><body><DIV id="xxx" ></DIV><script type="text/javascript"> function test(n){ if(document.getElementById("xxx").innerHTML == ""){ alert(n);//只alert一次 var o = document.createElement("div"); o.style.backgroundColor="red"; o.style.height = "111px"; o.style.width = "111px"; document.getElementById("xxx").appendChild(o); }}test(1);test(2);</script></body></html> 呵呵,兰州悲剧,还自己给innerHTML下了定义,说啥不兼容 不知道楼主怎么回事,我在IE fireFOx Chorm都执行一次<script type="text/javascript"> function test(){ var dd = document.getElementById("xxx"); if(dd.innerHTML == ""){ var d = document.createElement("DIV"); d.innerHTML="你哈"; document.getElementById("xxx").appendChild(d); }}</script> innerHTML在ie、ff都是兼容的,只有innerText才不兼容ff。LZ是哪里出错了吧,仔细看看 丰云 这个不可能不兼容哇!你的意思是想要这种的是吗?<DIV id="xxx" ><div></DIV></DIV><script type="text/javascript"> function test() { var count = 0; if (document.getElementById("xxx").childNodes.length > 0) { //说明有子项 for (var i = 0; i < document.getElementById("xxx").childNodes.length; i++) { if (document.getElementById("xxx").childNodes[i].tagName.toUpperCase() == "DIV") { count++; } } } alert("div一共有"+count+"子项div"); }window.onload = function () { test();}</script> 如果说outerHTML火狐用不了,我信 用你的方法可以,就是不明白,一开始为什么childNodes.length就是1。 因为代码中div是这样子的 <DIV id="xxx" ><div></DIV></DIV> 我不是你说的那样我的代码里面没有子div,原因找到咯,是因为换行了:<div id="xxx"></div>就这样也算有子节点。 搞清楚咯,就是因为我的div有换行!!哎,丢人啊。谢谢大家,马上结帖。 楼主都自己解决了,20楼,21楼不注意看啊,是textNode 的问题! $("#xxx")=="";dose it make sense? 鼠标拖动滚动条的焦点图 document.execCommand("saveas"...);“另存为”的“格式”的问题 求一段正则表达式 jQuery中filter的使用 onmouseover能同时触发2个函数吗 正则test问题 求5个正则表达式!最先答对的给分!一个10分 dhtabstrip version 1.0发布 问一个关于垃圾收集的简单问题 html输入框问题 frame 跳转 一个正则的理解??
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>test</title></head><body>
<DIV id="xxx" ></DIV>
<script type="text/javascript">
function test(){
if(document.getElementById("xxx").innerHTML == ""){
document.getElementById("xxx").innerHTML = "可以呀"
}
}
test();
</script></body></html>
所以才郁闷!!
<DIV id="xxx" ></DIV>
<script type="text/javascript">
function test(){
if(document.getElementById("xxx").innerHTML == ""){
......//这里添加一个子div
}
}
</script>问题是该方法调用几次,
就会添加几个子div我是想如果已经有添加子div,
就不再添加。。
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>test</title></head><body>
<DIV id="xxx" ></DIV>
<script type="text/javascript">
function test(n){
if(document.getElementById("xxx").innerHTML == ""){
alert(n);//只alert一次
var o = document.createElement("div");
o.style.backgroundColor="red";
o.style.height = "111px";
o.style.width = "111px";
document.getElementById("xxx").appendChild(o);
}
}
test(1);test(2);
</script></body></html>
function test(){
var dd = document.getElementById("xxx");
if(dd.innerHTML == ""){
var d = document.createElement("DIV");
d.innerHTML="你哈";
document.getElementById("xxx").appendChild(d);
}
}
</script>
LZ是哪里出错了吧,仔细看看
你的意思是想要这种的是吗?
<DIV id="xxx" ><div></DIV></DIV>
<script type="text/javascript">
function test() {
var count = 0;
if (document.getElementById("xxx").childNodes.length > 0) {
//说明有子项
for (var i = 0; i < document.getElementById("xxx").childNodes.length; i++) { if (document.getElementById("xxx").childNodes[i].tagName.toUpperCase() == "DIV") { count++;
}
}
} alert("div一共有"+count+"子项div");
}
window.onload = function () { test();
}
</script>
一开始为什么childNodes.length就是1。
我不是你说的那样
我的代码里面没有子div,
原因找到咯,是因为换行了:
<div id="xxx">
</div>
就这样也算有子节点。
就是因为我的div有换行!!哎,丢人啊。
谢谢大家,
马上结帖。
是textNode 的问题!
dose it make sense?