我有一个运行2 ".getElementById('').style"
次更改的JavaScript。两者都在FF中完美运行,但第一个在IE7中不起作用。
感谢所有帮助:)
First SourceCode:
function ingen() {
document.getElementById('merInfo1').style.display='none';
document.getElementById('merInfo2').style.display='none';
document.getElementById('merInfo3').style.display='none';
document.getElementById('merInfo4').style.display='none';
document.getElementById('merInfo5').style.display='none';
document.getElementById('merInfo6').style.display='none';
document.getElementById('merInfo7').style.display='none';
}
HTML:
<span class="enkeltSkjema" id="avtaleInput">
<select name="radio1" id="radio1">
<option value="1" onClick="ingen()">lorem</option>
<option value="2" onClick="some()">lorem</option>
<option value="3" onClick="other()">lorem</option>
<option value="4" onClick="func()">lorem</option>
<option value="5" onClick="tion()">lorem</option>
<option value="6" onClick="names()">lorem</option>
<option value="7" onClick="goes()">lorem</option>
<option value="8" onClick="here()">lorem</option>
</select>
</span>
<span class="enkeltSkjema" id="merInfo">
<span id="merInfo1" name="merInfo1"></span>
<span id="merInfo2" name="merInfo2"></span>
<span id="merInfo3" name="merInfo3"></span>
<span id="merInfo4" name="merInfo4"></span>
<span id="merInfo5" name="merInfo5"></span>
<span id="merInfo6" name="merInfo6"></span>
<span id="merInfo7" name="merInfo7"></span>
</span>
其次,在IE中工作正常:
function levAdresse() {
if (document.getElementById('egenLevAdr').checked == true) {
document.getElementById('levAdrBox').style.display='block';
}
else {
document.getElementById('levAdrBox').style.display='none';
}
}
HTML:
<div id="levAdrBox">
<div id="levAdr">Field
<span class="" id="levAdrInput"><input type="text" id="text12" name="text12" /></span>
</div>
<div class="" id="levPostSted"> field:*
<span class="" id="levPostStedInput">
<input type="text" id="text18" name="text18" />
<span class="" id="levPostNr">field:*
<span class="" id="levPostNrInput">
<input type="text" id="text17" name="text17" />
</span>
</span>
</span>
</div>
</div>
答案 0 :(得分:4)
嗯......也许你在SELECT上使用“OnChange()”而不是在OPTION上使用“OnClick”?
<select name="radio1" id="radio1" onChange="ingen(this.value)">
<option value="1">lorem</option>
<option value="2">lorem</option>
<option value="3">lorem</option>
<option value="4">lorem</option>
<option value="5">lorem</option>
<option value="6">lorem</option>
<option value="7">lorem</option>
<option value="8">lorem</option>
</select>
并在ingen(某事)中做了一个条件,或者调用与传递的值相关的其他函数......?
答案 1 :(得分:2)
是否有可能在完全构造DOM之前调用ingen()函数?
答案 2 :(得分:2)
页面上是否有任何其他元素,其中“name”属性设置为:
merInfo1
merInfo2
merInfo3
merInfo4
merInfo5
merInfo6
merInfo7
(无论如何:例如MerInfo1,merinfo1,MERinfo1在IE中都是一样的)
如果是这样,那就是错误。 IE认为名称与ID相同(显然是一个错误)答案 3 :(得分:0)
如果你有选择/可能性,我会使用jQuery并摆脱(大多数)跨浏览器的不兼容性:
function ingen() {
$("#merInfo span").css("display", "none");
}
$(document).ready(function() {
$("#egenLevAdr").click(function() { $("#levAdrBox").toggle(); });
});