讨厌所有必须简单的事情,但我不断从以下代码获得IE8不支持的属性或方法错误。在FireFox中工作正常。
compName = comps[index].getElementsByTagName("compName")[0].firstChild.nodeValue;
compDesc = comps[index].getElementsByTagName("description")[0].firstChild.nodeValue;
nextCluster = comps[index].closest("skillCluster").getElementsByTagName("skillName")[0].firstChild.nodeValue;
<factor>
Gets Results
</factor>
<skillCluster>
<skillName>
Works Effectively and Efficiently
</skillName>
<competency id="25">
<compName>
Plans and Aligns
</compName>
<description>
Planning and prioritizing work to meet commitments aligned with organizational goals.
</description>
</competency>
<competency id="27">
<compName>
Resourcefulness
</compName>
<description>
Securing and deploying resources effectively and efficiently.
</description>
</competency>
</skillCluster>
第三行包含错误。 Array / nodelist comps []是以前在XML doc中搜索“competency”标签的结果。显示了本地XML的结构。除了.closest()之外,逐步删除行的所有其他部分至少返回一个对象(通过警报)并且没有错误。其他部分compName和compDesc工作正常。在所有情况下,我都在文本内部。任何帮助,总是非常感谢!
答案 0 :(得分:1)
closest
方法是一个jQuery方法,因此您需要创建一个包含要使用它的元素的jQuery对象。结果是另一个jQuery对象,所以你需要一个[0]
来从中获取元素:
nextCluster = $(comps[index]).closest("skillCluster")[0].getElementsByTagName("skillName")[0].firstChild.nodeValue;