我想要获取所有td标签中的内容,怎么让他只显示td标签中的东西打印出来
使用第一个正则表达式,匹配所有的tr标签
比如:
<tr align="center" bgcolor="#ffffff">
<td>djflsjdfljsflj</td>
</tr>
var regex = /<tr[^>]+align="center"[^>]+bgcolor="[^"]+?"\s*>[\s\S]+?<\/tr>/;
再用第二条正则表达式来匹配tr中td标签
比如:
<td>djflsjdfljsflj</td>
var regex2 = /<td[^>]*>([\s\S]+)<\/td>/;
然后分组功能取出第一组数据就是你要的内容。
<([a-z]+)[^<]*>(.*)<\/\1>
分组2是你想要的内容:
var m = "≶td>dsfdsfds≶\td>".match(/<([a-z]+)[^<]*>(.*)<\/\1>/);
alert(m[2]);
这个用不着正则表达式吧?直接将td标签中的内容取出放到数组中,再打印不是更简便些吗?还不会出错
一定要用正则表达式吗?其实用document.getElementsByTagName()获取全部标签更容易
像这样var b =document.getElementsByTagName("td");
for(var i=0;i<b.length;i++)
{
var c=b[i].innerText;
alert(c);
}
获取全部td的内容输出循环出来就可以