关于javascript截取字符串问题

kenMoxi 2008-11-05 11:48:18
对于下面这样子的字符串,我用javascript怎么取出每一个对应的<tr>标记中的第2,3,4个<td>标记中的值,谢谢!
<TR>
<TD>


<INPUT type=checkbox value="111" name="asdad">

</TD>
<td>1</td>
<td>测试1200</td>
<td>
<a onClick='openThread("218199");' href="#">1核不认真</a>
</td>
<td>2008-12-06</td>
<td>
资料不全
</td>
<td>

asdadsasa
</td>
<td>
测试用户
</td>
<td>
<a onClick='openasdaa("218199");' href="#">1212</a>
</td>
<td>
 
</td>
<td>


 


</td>

</TR>
<TR>
<TD>


<INPUT type=checkbox value="111" name="asdad">

</TD>
<td>1</td>
<td>测试1200</td>
<td>
<a onClick='openThread("218199");' href="#">1核不认真</a>
</td>
<td>2008-12-06</td>
<td>
资料不全
</td>
<td>

asdadsasa
</td>
<td>
测试用户
</td>
<td>
<a onClick='openasdaa("218199");' href="#">1212</a>
</td>
<td>
 
</td>
<td>


 


</td>

</TR>
...全文
236 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kenMoxi 2008-11-05
  • 打赏
  • 举报
回复
不会正则,怎么匹配?
  • 打赏
  • 举报
回复
晕,你早说啊

早说就不要费这个时间了

直接用正则匹配
kenMoxi 2008-11-05
  • 打赏
  • 举报
回复
自己先顶上去!不要沉了
kenMoxi 2008-11-05
  • 打赏
  • 举报
回复
var XmlHttp = new ActiveXObject("Msxml2.XMLHTTP")
XmlHttp.Open( "POST", "http://localhost/test/test1.jsp", false );
XmlHttp.Send();
TxtValue=XmlHttp.responseText;
//这里取出了table的内容
TxtValue=TxtValue.substring(TxtValue.indexOf("<TABLE class=\"listTb\">"),TxtValue.indexOf("<tr align=\"right\">"));
//如何取出每个tr中相应位置的td的内容呢?这个就是我想解决的问题
kenMoxi 2008-11-05
  • 打赏
  • 举报
回复
还有一个问题!我bb的内容并非当前页面上获取的!而是通过xmlhttp从其他连接中取到的!所以使用不到您说的这种方法吧?
  • 打赏
  • 举报
回复
<table>
<TR><TD><INPUT type=checkbox value="111" name="asdad"></TD>
<td>1 </td>
<td>测试1200 </td>
<td>
<a onClick='openThread("218199");' href="#">1核不认真 </a>
</td>
<td>2008-12-06 </td>
<td>
资料不全
</td>
<td>

asdadsasa
</td>
<td>
测试用户
</td>
<td>
<a onClick='openasdaa("218199");' href="#">1212 </a>
</td>
<td>
 
</td>
<td>


 


</td>

</TR> </table>
<script>
function bianli(){
//var bb=document.getElementById("biaoge1"); //
var bb=document.getElementsByTagName("tr")[0]; //这个表示第一个tr
var gg=bb.childNodes;//
alert(gg[1].innerHTML); // 这个是第二个值 <td>
alert(gg[2].innerHTML);// 这个是第三个值 <td>
alert(gg[3].innerHTML);// 这个是第四个值 <td>
}
window.onload=bianli()
</script>
这个是没有ID的情况下用
kenMoxi 2008-11-05
  • 打赏
  • 举报
回复
问题就是没有任何的ID可以标识,如果每个TR都可以加个标识,就不需要那么烦了!
  • 打赏
  • 举报
回复
<script>
function bianli(){
var bb=document.getElementById("biaoge1"); //
var gg=bb.childNodes;//
alert(gg[1].innerHTML); // 这个是第二个值<td>
alert(gg[2].innerHTML);// 这个是第三个值<td>
alert(gg[3].innerHTML);// 这个是第四个值<td>
}
window.onload=bianli()
</script>
  • 打赏
  • 举报
回复
<script   language= "javascript "> 
function bianli(){
var bb=document.getElementById( "biaoge1 "); //
var gg=bb.childNodes;//
alert(gg[0].innerHTML); //
}
window.onload=bianli();
</script>
<table>
<TR id="biaoge1">
<TD>


<INPUT type=checkbox value="111" name="asdad">

</TD>
<td>1 </td>
<td>测试1200 </td>
<td>
<a onClick='openThread("218199");' href="#">1核不认真 </a>
</td>
<td>2008-12-06 </td>
<td>
资料不全
</td>
<td>

asdadsasa
</td>
<td>
测试用户
</td>
<td>
<a onClick='openasdaa("218199");' href="#">1212 </a>
</td>
<td>
 
</td>
<td>


 


</td>

</TR> </table>
cgisir 2008-11-05
  • 打赏
  • 举报
回复
<script>
var str = '<table><tr><td>111</td><td>222</td><td>3333</td><td>4444</td><td></td></tr><tr><td>111</td><td>222</td><td>3333</td><td>4444</td><td></td></tr></table>';
var reg = /<tr.*?>\W*<td.*?>.+?<\/td>\W*<td.*?>(.+?)<\/td>\W*<td.*?>(.+?)<\/td>\W*<td.*?>(.+?)<\/td>(?:\W*<td>.*?<\/td>)+\W*<\/tr>/ig;
var arr = [], tem;
while(tem = reg.exec(str)){
arr.push([tem[1],tem[2],tem[3]]);
}
alert(arr.join('\n'));

/*输出格式
arr = [
[222, 333, 444],
[222, 333, 444]
]
*/
</script>
  • 打赏
  • 举报
回复
有点罗嗦,没有找到太好的办法
<script type="text/javascript">
var s="<table border=1 width=500>"
+"<tr id='1'><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td></tr>"
+"<tr ><td>21</td><td>22</td><td>23</td><td>24</td><td>25</td></tr>"
+"<tr \n><td>31</td><td>32</td><td>33</td><td>34</td><td>35</td></tr>"
+"</table>";
var oReg=/<tr[\S\s]*?>([\S\s]*?)<\/tr>/gi;
var aResult=[];
var sTrContent;

while(oReg.exec(s)){
sTrContent=RegExp.$1;
aResult.push(
sTrContent.match(/<td[\S\s]*?>([\S\s]*?)<\/td>/gi)
.slice(2)
.join(",")
.replace(/<td[\S\s]*?>|<\/td>/gi,"")
.split(",")
);
}
alert(aResult);
</script>
  • 打赏
  • 举报
回复
re=/\<td\>(.*?)\<\/td\>/g

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧