2010-07-13 52 views
0

我有一個HTML網頁,裏面裝滿了用類標識的div和span標籤,這些標籤有很多我需要的其他格式的數據。我想知道什麼是最好的方式來做到這一點與JavaScript。如何用javascript獲取HTML數據

謝謝你的幫助。

+0

需要更多信息。你想對數據做什麼?它是什麼樣子的?你有什麼例子嗎? – Skilldrick 2010-07-13 19:35:40

回答

3

最快的方式? jQuery

$(".myClass").each(function() { 
    // work with your data here 
}); 
+0

它可能是最短的方式,但不是最快的... – galambalazs 2010-07-13 19:55:33

+0

取決於如果你正在優化CPU週期或開發週期:)。這可能是最快實施的,但你說得對,它可能不是最有效的方式。 – 2010-07-13 20:01:47

+0

這是慢嗎? – 2010-07-14 00:47:05

0

更低級,而應該是快了很多(少了很多的開銷):

var myelements = document.evaluate('//div[@class=myClass"]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); 
for (var i = 0; i < myelements.snapshotLength; i++) { 
    var dataElement = myelements.snapshotItem(i); 
    // work with your data here 
} 

(好吧,你必須做兩次(一次股利和一次這是更多的代碼,看起來不錯,但它應該仍然更快)

0

如果你想要得到所有具有特定類的文件,那麼你將需要測試的存在每個對象上的那個類。您將需要使用

document.getElementByTagName("*") // This should select everything 

並通過它們循環以檢測正確的名稱。

if (regex test == true) { 
    // you found an element that matches 
    // do what you will with it. 
} 

如果你發現你需要的元素做你需要的東西。現在您已經處理了頁面上的所有元素,並找到了符合條件的元素。祝你好運。

+0

我讀過那個正則表達式和HTML是天堂下的禁止聯盟......那麼這是什麼樣的正則表達式呢? – 2010-07-13 23:41:39

+0

您將不得不使用正則表達式來搜索類名。您可以在同一個屬性中添加多個附加的類名。 (ex class =「this that orAnother」; if(className ==「this」){}將不起作用,因爲完整字符串是「this that orAnother」。 – John 2010-07-14 00:44:12

相關問題