gpt4 book ai didi

javascript - SCRIPT5007 IE9 getElementsByTagName

转载 作者:行者123 更新时间:2023-11-28 21:19:55 24 4
gpt4 key购买 nike

为什么这个简单的事情在 IE 9 中不起作用?它在 FF 和 Chrome 上运行得很好。

<script language="javascript" type="text/javascript">
function displayBusinessCardData() {
var xmldata = document.getElementById("xmldata1");
var bizCard = xmldata.getElementsByTagName("BusinessCard")[0];

var name = "Name: " + bizCard.getElementsByTagName("name")[0].firstChild.data;
var phone1 = "Phone: " + bizCard.getElementsByTagName("phone")[0].firstChild.data;
var phone2 = "Phone: " + bizCard.getElementsByTagName("phone")[1].firstChild.data;
var phone3 = "Phone: " + bizCard.getElementsByTagName("phone")[2].firstChild.data;
var email = "Email: " + bizCard.getElementsByTagName("email")[0].firstChild.data;

alert("BusinessCard Data: \n\n" + name + "\n" + phone1 + "\n" + phone2 + "\n" + phone3 + "\n" + email);
}
</script>

<xml id="xmldata1" style="display:none">
<BusinessCard>
<name>Joe Marini</Name>
<phone type="mobile">(415) 555-4567</phone>
<phone type="work">(800) 555-9876</phone>
<phone type="fax">(510) 555-1234</phone>
<email>joe@joe.com</email>
</BusinessCard>
</xml>

<a href="javascript:displayBusinessCardData()">Show Business Card Data</a>
</body>

失败并显示“xmldata.getElementsByTagName("BusinessCard")[0];” bizCard 的结果为空。

最佳答案

我知道这有点晚了,但我遇到了类似的问题,您可能需要考虑将 xml 代码包装在 div 中,然后将其初始化为 xml 文档:

<div id="xmldata">
<BusinessCard>
<name>Joe Marini</Name>
<phone type="mobile">(415) 555-4567</phone>
<phone type="work">(800) 555-9876</phone>
<phone type="fax">(510) 555-1234</phone>
<email>joe@joe.com</email>
</BusinessCard>
</div>

然后在您的函数中使用 DOMParser 对象创建 xml 文档:

function displayBusinessCardData() {
var xmlstring= document.getElementById("xmldata").innerHTML;
parser=new DOMParser();
var bizCard = parser.parseFromString(xmlstring,"text/xml");

var name = "Name: " + bizCard.getElementsByTagName("name")[0].firstChild.data;
var phone1 = "Phone: " + bizCard.getElementsByTagName("phone")[0].firstChild.data;
var phone2 = "Phone: " + bizCard.getElementsByTagName("phone")[1].firstChild.data;
var phone3 = "Phone: " + bizCard.getElementsByTagName("phone")[2].firstChild.data;
var email = "Email: " + bizCard.getElementsByTagName("email")[0].firstChild.data;

alert("BusinessCard Data: \n\n" + name + "\n" + phone1 + "\n" + phone2 + "\n" + phone3 + "\n" + email);
}

希望这有帮助。我要讲的主要内容是,您可以从字符串创建有效的 xml 对象。

最后一件事,在 A 标记中使用 javascript:function() 协议(protocol)是不好的做法

关于javascript - SCRIPT5007 IE9 getElementsByTagName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6649245/

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