2015-03-02 55 views
0

我要在IE 11如何從HTML文檔獲取XML對象jQuery的

<div> 
<hier2:hierarchy > 
<hier:x1></hier:x1> 
<hier2:hierarchy > 
</div> 

我特里爾document.all.hier2下面的HTML代碼在ASPX頁面和它不工作

檢索hier2在jQuery對象

這是做什麼最好的方法。

+0

'document.all'真的嗎?使用'document.getElementsByTagName'或'document.querySelectorAll' – Mouser 2015-03-02 15:42:23

+0

在jquery中是否有與document.getElementsByTagName(「hier2:hierarchy」)相同的代碼? – Grasshopper 2015-03-02 16:10:18

回答

1

簡單地說:

document.getElementsByTagName("hier2:hierarchy"); 

返回一個節點列表,你可以遍歷包含所有hier2:hierarchy節點。


更精細:

那些元件(或節點)都d ocument ö的一部分bject 中號 Odel等(DOM)。在過去的IE(和其他)支持document.all。現在已棄用。如何遍歷DOM。 DOM是包含根及其子女,孫子女等

基礎知識樹:

  • document:這是主對象。頁面的根目錄。所有其他元素都是這個根的後代。
  • document.documentElement:表示頁面的HTML-element

穿越:

  • document.getElementById:允許您選擇基於其ID -attribute一個元素。
  • document.getElementsByTagName:允許您根據node name選擇多個節點。
  • document.getElementsByClassName:允許您根據節點的class選擇多個節點。
  • document.querySelector:選擇使用css-selectors
  • document.querySelectorAll單個節點:與上述相同,只是用於選擇多個元素。
  • childrenchildNodes:一個微妙的區別,第一個選擇內容節點,而後者選擇元素的直接子節點(以節點列表的形式)的所有節點。
  • parentNodeparentElement:選擇當前元素的父元素。
  • previousSiblingnextSibling:選擇上一個或下一個元素。

更多的選擇在這裏:https://developer.mozilla.org/en-US/docs/Web/API/Element

一些例子:

平原:

var elements = document.getElementsByTagName("hier2:hierarchy"); 
 
for (var i = 0; i < elements.length; i++) 
 
    { 
 
    document.querySelector("#display").innerHTML += elements[i].nodeName; //select the display div using css selector #display 
 
    }
<div> 
 
    <hier2:hierarchy> 
 
    <hier:x1></hier:x1> 
 
    </hier2:hierarchy> 
 
</div> 
 
<div id="display"></div>

在jQuery中

$("hier2\\:hierarchy").each(function() { 
 

 
    $("#display").html(this.nodeName); 
 
    }); 
 

 

 
//$("hier2\\:hierarchy") is used to select the elements, mind the \\ to escape! 
 
//each is used to traverse all the elements.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
    <hier2:hierarchy> 
 
    <hier:x1></hier:x1> 
 
    </hier2:hierarchy> 
 
</div> 
 
<div id="display"></div>

特別提醒這裏: 在使用hier2:hierarchy將失敗。您需要將:\\:轉換爲

$("hier2\\:hierarchy") 
+0

在juqery中是否存在document.getElementsByTagName(「hier2:hierarchy」)的任何等效代碼? – Grasshopper 2015-03-02 16:06:56

+0

@Grasshopper查看更新的答案。 – Mouser 2015-03-02 16:15:52