我正在使用节点幻像简单https://github.com/baudehlo/node-phantom-simple。它使得dom非常简单。我被允许使用jquery,我正在进入数据表库。
以下是我用
开头的代码 var nameArray = [];
$("tbody[role='alert'] tr").each(function(data){
var json = {};
json.name= $(this).children(':first-child').text();
json.size= $(this).children(':nth-child(2)').text();
json.caffeine= $(this).children(':nth-child(3)').text();
json.mgFloz=$(this).children(':last-child').text();
nameArray.push(json);
});
// return tableData;
return nameArray;
我将从我已经删除的网站返回所有数据。每个表格行的内部是格式
<td><a href="">name of drink</a></td>
<td>info</td>
<td>info</td>
<td> info</td>
我正在寻求获取饮料。所以我试图瞄准html
json.url=$(this).children(':first-child').html();
我的回答是
{ url: '<a href="/caffeine-content/zombie-blood-energy-potion">Zombie Blood Energy Potion</a>' }
这很接近。我想要的就是href,我将完成。我尝试使用attr()进行定位,但是我一直在返回null。
我是否缺少一个步骤或解决方法?
答案 0 :(得分:1)
你很接近,但你需要再向下遍历DOM一层。使用find()
:
json.url = $(this).children(':first-child').find('a').attr('href');
对于name
属性,您可以使用类似的方法:
json.name = $(this).children(':first-child').find('a').text();