我正在编写一些JavaScript来从第三方网站提取数据。我需要提取的数据格式如下:
<!-- a bunch of extra stuff before this -->
<tr>
<td>Keyword: </td>
<td>
Value
<a>...</a>
Other stuff I don't care about
</td>
</tr>
<!-- a bunch of extra stuff after this -->
我想要做的是搜索DOM以获取&#34;关键字:&#34;然后抓住&#34;价值&#34;从下一个TD。
答案 0 :(得分:0)
您可以使用jQuery来执行此操作。您必须使用siblings
选择器和contains
api来实现相同的目标。
您可以详细了解siblings
here。
您可以详细了解alert($("td:contains('Key')").siblings().html());
here。
只有一个兄弟姐妹的例子:
$("td:contains('Key')").siblings().each(function(){
alert($(this).html());
});
有多个兄弟姐妹时的示例:
UIView *bottomView = [[UIView alloc] initWithFrame:CGRectZero];
[self.view addSubview:bottomView];
bottomConstraint = [NSLayoutConstraint constraintWithItem:bottomView
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeBottom
multiplier:1
constant:0];
bottomConstraint.active = YES;
答案 1 :(得分:0)
jQuery&#39; :contains()选择器可以做到这一点。
对于您的具体示例:
$( "td:contains('Keyword: ')" ).next().contents()[0].val();
首先它发现包含&#34;关键字:&#34;。然后它找到下一个元素,然后将其拆分为一个零件数组,然后选择该数组中的第一个元素,然后获取该元素的值。