gpt4 book ai didi

javascript 函数 - 传递到函数中的变量适用于 IE,但不适用于 Firefox

转载 作者:行者123 更新时间:2023-12-02 19:40:29 25 4
gpt4 key购买 nike

下面是一个java脚本函数和调用该函数的单击项目的html。我能够通过使用警报来判断,在使用 Firefox 时,传递到函数中的四个值是未定义的,但在使用 IE 时可以工作。如果有人看到错误以及如何正确传递这些值,请告诉我。谢谢。

            function LoadChild(lnEntityID, lnEntityCat, FullExpand, EquipID) {

document.getElementById('dropTypes').disabled = false;
document.getElementById('dropTypes').style.background = "white";
DescStatus = 0;

alert('lnEntityCat : ' + lnEntityCat);
if (lnEntityCat == 0) {

alert('First if is hit');
PageMethods.LoadChild(lnEntityID, lnEntityCat, GLOBALEQUIPID, FullExpand, 0, 0, 1, LoadChildCallback);

}
else if (document.getElementById('img' + lnEntityID + lnEntityCat).canExpand == "true") {
if (document.getElementById('div' + lnEntityID + lnEntityCat).style.display == 'none') {
document.getElementById('div' + lnEntityID + lnEntityCat).style.display = 'block';
document.getElementById('img' + lnEntityID + lnEntityCat).src = "../images/minus.gif"

PageMethods.LoadChild(lnEntityID, lnEntityCat, GLOBALEQUIPID, FullExpand, 0, 0, 1, LoadChildCallback);

}
else {
document.getElementById('div' + lnEntityID + lnEntityCat).style.display = 'none';
document.getElementById('img' + lnEntityID + lnEntityCat).src = "../images/plus.gif"
}
}
}

这是由服务器端代码生成的动态 html,该代码生成单击时调用 loadChild 的项目

<img canExpand="true" style="cursor:hand" id="img72635" src="../images/plus.gif" EntityID="726" EntityCat="35" onclick="LoadChild(this.EntityID, this.EntityCat, 0, this.lnEquip);">

最佳答案

您依赖于元素上的非标准属性,这些属性反射(reflect)为元素对象上的属性。你不能可靠地,嗯,依赖它;您需要使用 getAttribute 来代替:

onclick="LoadChild(this.getAttribute('EntityID'), this.getAttribute('EntityCat'), 0, this.getAttribute('lnEquip'));">

(不太确定 lnEquip 来自哪里,我在元素的属性中没有看到它;如果您将其添加为其他地方的扩展,则删除 getAttribute 来自该特定的调用。)

<小时/>

请注意,使用非标准属性意味着您的 HTML 不会 validate 。现在,您可以通过在这些属性前添加 data- 前缀,以符合要求的方式执行此操作,如 HTML5 specification 中所述。 。尽管这在 HTML4 及更早版本中仍然无效,但它适用于所有浏览器,并且从 HTML5 开始有效。

关于javascript 函数 - 传递到函数中的变量适用于 IE,但不适用于 Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10449565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com