这会抓取td标签等
<script type=”text/javascript”>
var td = document.getElementsByTagName(“td”);
for (var i = 0; i < td.length; i++) {
document.write(‘td #’ + i + ‘<br />’);
}
</script>
如何使其等效于获取某些文字
例如,如果我有
hello world
by world
hello goodbye
yellow submarine
yo hello
如何在所有文本中抓取“你好”
答案 0 :(得分:3)
使用jQuery的contains selector可以帮到你。
JS
$('body').find('*:contains("hello")').each(function(){
var h = $(this).html();
//alert(h);
h = h.replace('hello', '<span class="highlight">hello</span>');
$(this).html(h);
});
HTML
<table>
<tr>
<td>hello some more text</td><td>test</td>
</tr>
</table>
<div>hello testing<div>More data</div></div>
<span>hello</span>
CSS
.highlight{
background-color:yellow;
}
答案 1 :(得分:1)
在span标签中包装所有“hello”并给它一个“hello”类
<span class="hello">hello</span> world
by world
<span class="hello">hello</span> goodbye
yellow submarine
yo hello
使用jquery
var allHello = $('.hello').text();
你能做的其他方法是使用正则表达式,但如果你知道你的内容则不需要它。
答案 2 :(得分:0)
屏幕抓取所遵循的常用方法是将需要捕获或搜索的文本放在带有ID的DIV标记内。完成此操作后,您将能够执行DIV标记ID的getElementsByTagName以获取整个文本。
希望这很清楚。如果这不是您想要的,我建议您添加更具体的问题。
答案 3 :(得分:0)
如何在所有文本中抓取“你好”
我不确定我是否得到了这个问题,但要抓住“你好”,你可以做到:
var td = document.getElementsByTagName('td')[0],
td = (td.textContent || td.innerText || ""),
hello = td.match(/hello/gi);
这将返回一个包含所有“hello”的常规javascript数组?