你可以使用一些XPath的帮助:
var snapshot = document.evaluate('//ul/li/a[1]/@title', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
这是XPath查询相匹配的文档中创建的所有节点的快照。上述XPath查询<ul>
的孩子<li>
的孩子的第一个链接元素的title
属性。
后你得到的快照,你可以通过它进行迭代,并获得名字:
for (var i = 0; i < snapshot.snapshotLength; i ++) console.log(snapshot.snapshotItem(i).nodeValue);
(你可以在上面的代码在Chrome的Web检查控制台运行)
你也可以在PHP中执行相同的操作,只需将该文档加载到DOMDocument中:
$doc = new DOMDocument;
$doc->loadHTML(file_get_contents('http://en.wikipedia.org/wiki/List_of_styles_of_music:_A-F'));
并使用XPath进行查询:
$xp = new DOMXPath($doc);
foreach ($xp->query('//ul/li/a[1]/@title') as $node) {
echo "$node->nodeValue\n";
}
嗯,你为什么使用Javascript这样做呢?这真的会成为将数据放入数据库的方式吗? – lonesomeday 2011-06-04 17:07:35
嗯,我只想获得标题名称,然后使用AJAX请求将它们传递给PHP脚本。 – maxcollins 2011-06-04 17:14:49