的Javascript不能在Firefox工作
可能重复:
'innerText' works in IE, but not in Firefox的Javascript不能在Firefox工作
为什么在IE和Safari,但不能在Firefox下面的脚本工作?
<html>
<head><script type="text/javascript">
function ShowHide(strTag ,strAttribute){
var elem = document.getElementsByTagName(strTag);
var elem1 = evt.srcElement || evt.target;
for (var i=0;i<elem1.children.length;i++){
elem1.children[i].innerText=="4" ? elem1.children
[i].innerText="6":elem1.children[i].innerText="4";
}
for (var i =0;i<elem.length;i++) {
if(elem[i].getAttribute(strAttribute)=="yes") {
elem[i].style.display=='none'? elem[i].style.display='block':elem
[i].style.display='none';
}
}
}
</script>
<div id=div1 onclick="ShowHide('div','exp2');">
<font face=Webdings color=BLACK>4</font> click here for some expandable
divs...</div>
<div id=div2 exp2='yes' style="display:none;">I'm a div!</div>
<div id=div3 exp2='yes' style="display:none;">More of them divs...</div>
<div id=div4 exp2='yes' style="display:none;">Me too! divs...</div>
</body>
</html>
的innerText
属性不会在Firefox上运行,该属性是IE特有的(虽然IIRC由歌剧/铬的支持)。
Firefox使用W3C标准Node::textContent
属性。
另外'evt'从无处出现。 – 2010-11-05 20:30:59
@josh,对,他需要将事件对象从* intrinsic *'onclick'事件属性中传递给他的'ShowHide'函数。 – CMS 2010-11-05 20:32:54
- 我没有看到“EVT”从何而来,但事件对象在Firefox和IE中引用不同
- Firefox不会有操纵
一“的innerText”属性(即“evt”的东西让我想知道这是如何工作,即使在IE浏览器。)
CMS是正确的,但也不完整。因为“EVT没有定义”
evt is undefined
var elem1 = evt.srcElement || evt.target;
此行失败,除非你传递从onclick处理某处不包括在你的代码片段Firefox中的事件对象具有不知道evt是。如果您想以这种方式查找目标,请将其作为参数传递给函数。
什么是不正确的工作。 – Gabe 2010-11-05 20:22:56
什么?尝试重新格式化。二进制的小块可以帮助你进行代码格式化,请使用它。 – 2010-11-05 20:23:27
什么不行? – 2010-11-05 20:27:14