.getElementById IE
我有一个 JavaScript 正在运行 2 个 ".getElementById('').style"
更改。 两者都在 FF 中完美运行,但第一个在 IE7 中不起作用。
感谢所有帮助:)
第一个源代码:
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>
I've got a JavaScript running 2 ".getElementById('').style"
changes. Both work perfectly in FF, but the first one doesn't work in IE7.
Appreciate all help :)
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>
Second, works fine in 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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
嗯...也许如果您在 SELECT 上使用“OnChange()”而不是在 OPTION 上使用“OnClick”?
并在 ingen(something) 中执行一个条件,或调用与传递的值相关的其他函数...?
Uhhmmm... Maybe if you use "OnChange()" on the SELECT and not "OnClick" on OPTION ?
and in the ingen(something) do a condition, or call other function in relation with the value passed... ?
您是否有可能在 DOM 完全构建之前调用 ingen() 函数?
Is it possible you are calling the ingen() function before the DOM is fully constructed?
页面上其他任何地方是否有任何其他元素的“名称”属性设置为:(
任何情况下也是如此:例如 MerInfo1、merinfo1、MERinfo1 在 IE 中都是相同的)
如果是这样,那就是错误。 IE 认为 name 与 ID 相同(这显然是一个错误)
Do you have ANY other elements ANYWHERE else on the page with a "name" attribute set to:
(of any case too: e.g. MerInfo1, merinfo1, MERinfo1 are all the same in IE)
if so, that's the bug. IE considers name to be the same as ID (which is a bug obviously)
如果您有选择/可能性,我会使用 jQuery 并消除(大部分)跨浏览器不兼容性:
If you have the option/possibility, I'd use jQuery and get rid of (most of) the cross-browser incompatibilities: