2010-07-13 51 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

相关问题