我有一个HTML网页,里面装满了用类标识的div和span标签,这些标签有很多我需要的其他格式的数据。我想知道什么是最好的方式来做到这一点与JavaScript。如何用javascript获取HTML数据
谢谢你的帮助。
我有一个HTML网页,里面装满了用类标识的div和span标签,这些标签有很多我需要的其他格式的数据。我想知道什么是最好的方式来做到这一点与JavaScript。如何用javascript获取HTML数据
谢谢你的帮助。
最快的方式? jQuery:
$(".myClass").each(function() {
// work with your data here
});
它可能是最短的方式,但不是最快的... – galambalazs 2010-07-13 19:55:33
取决于如果你正在优化CPU周期或开发周期:)。这可能是最快实施的,但你说得对,它可能不是最有效的方式。 – 2010-07-13 20:01:47
这是慢吗? – 2010-07-14 00:47:05
更低级,而应该是快了很多(少了很多的开销):
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
}
(好吧,你必须做两次(一次股利和一次这是更多的代码,看起来不错,但它应该仍然更快)
如果你想要得到所有具有特定类的文件,那么你将需要测试的存在每个对象上的那个类。您将需要使用
document.getElementByTagName("*") // This should select everything
并通过它们循环以检测正确的名称。
if (regex test == true) {
// you found an element that matches
// do what you will with it.
}
如果你发现你需要的元素做你需要的东西。现在您已经处理了页面上的所有元素,并找到了符合条件的元素。祝你好运。
我读过那个正则表达式和HTML是天堂下的禁止联盟......那么这是什么样的正则表达式呢? – 2010-07-13 23:41:39
您将不得不使用正则表达式来搜索类名。您可以在同一个属性中添加多个附加的类名。 (ex class =“this that orAnother”; if(className ==“this”){}将不起作用,因为完整字符串是“this that orAnother”。 – John 2010-07-14 00:44:12
需要更多信息。你想对数据做什么?它是什么样子的?你有什么例子吗? – Skilldrick 2010-07-13 19:35:40