请问如何取得Div下的 Table 对象(Table没有ID)

BlueSnow 2007-10-20 04:56:07
<div class= 'view view-case-view-all ' >
<div class= 'view-content view-content-case-view-all ' >
<table border="1" >
<tr class="odd" >
<td class="view-field view-field-node-title" >任务测试1 </td >
<td class="view-field view-field-workflow-states-state" >执行中 </td >
</tr >
<tr class="even" >
<td class="view-field view-field-node-title" >任务测试2 </td >
<td class="view-field view-field-workflow-states-state" >完成 </td >
</tr >
<tr class="even" >
<td class="view-field view-field-node-title" >任务测试3 </td >
<td class="view-field view-field-workflow-states-state" >执行中 </td >
</tr >
</table >
</div >
</div >

请问如何根据 table 中每行 第二个TD中的内容控制表格行的颜色?
主要的困难是Table 没有ID.不知如何取得Table 对象

拜谢各位了.

补充一下,就是想让表格中的每行根据"完成"/"执行中"这两种不同的状态改变颜色.

再次拜谢
...全文
512 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
No_Data_Found 2007-10-20
晕 白忙活了

  • 打赏
  • 举报
回复
No_Data_Found 2007-10-20
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>

<div class='view view-case-view-all'>
<div class='view-content view-content-case-view-all'>
<table border="1">
<tr class="odd">
<td class="view-field view-field-node-title">任务测试1</td>
<td class="view-field view-field-workflow-states-state">执行中</td>
</tr>
<tr class="even">
<td class="view-field view-field-node-title">任务测试2</td>
<td class="view-field view-field-workflow-states-state">完成</td>
</tr>
<tr class="even">
<td class="view-field view-field-node-title">任务测试3</td>
<td class="view-field view-field-workflow-states-state">执行中</td>
</tr>
</table>
</div>
</div>

<script language='javascript'>
function setClor()
{
var tdArray = document.getElementsByTagName("td");

for(var i=0;i<tdArray.length;i++)
{
with(tdArray[i]){
if(innerText == "完成"){
parentNode.bgColor = "red";
}
}
}
}
setClor();
</script>
</BODY>
</HTML>
  • 打赏
  • 举报
回复
BlueSnow 2007-10-20
问题已解决,再次拜谢 CutBug

100分送止. ^_^

PS:大家对 Drupal 感兴趣吗?
  • 打赏
  • 举报
回复
CutBug 2007-10-20
<div class='view view-case-view-all' >
<div class= 'view-content view-content-case-view-all' >
<table border="1" >
<tr class="odd" >
<td class="view-field view-field-node-title" >任务测试1 </td >
<td class="view-field view-field-workflow-states-state" >执行中 </td >
</tr >
<tr class="even" >
<td class="view-field view-field-node-title" >任务测试2 </td >
<td class="view-field view-field-workflow-states-state" >完成 </td >
</tr >
<tr class="even" >
<td class="view-field view-field-node-title" >任务测试3 </td >
<td class="view-field view-field-workflow-states-state" >执行中 </td >
</tr >
</table >
</div >
</div >

<script language="javascript" type="text/javascript" >

document.getElementsByClassName = function(_className)
{ //根据class获得对象集合
var aimObj = [];
var elements = document.getElementsByTagName("*") ;//取得所有元素的集合
alert(elements.length);
for(var i=0;i<elements.length;i++)
{
if(elements[i].className==null) continue;
if(elements[i].className == _className)
{
aimObj.push(elements[i]);
}
}
return aimObj;

}

var outerDiv = document.getElementsByClassName("view view-case-view-all")[0];//取得class="view view-case-view-all"的第一个对象
alert(outerDiv.outerHTML);

</script>
  • 打赏
  • 举报
回复
gxtiou 2007-10-20
找到 className=view-field view-field-workflow-states-state&&tagName=td 的td对象

再根据这个td.innerHTML==“”?: 来判断
  • 打赏
  • 举报
回复
CutBug 2007-10-20
如果最外层div的样式唯一,是"view view-case-view-all"
就这样:

<script language="javascript" type="text/javascript" >  
var divs = document.getElementsByTagName("div");
var outterDiv;
for(var i=0;i<divs.length;i++)
{
if(divs[i].className=="view view-case-view-all")
{
outterDiv = divs[i];
break;
}
}
var tbl = outterDiv.childNodes[0].childNodes[0]; //取得table对象
alert(tbl.outerHTML);

</script>
  • 打赏
  • 举报
回复
BlueSnow 2007-10-20
Div 没有ID , 只有Class.
大侠们有没有办法
  • 打赏
  • 举报
回复
CutBug 2007-10-20
div id 知道吗?如果最外层的div id知道就好办了,
使用
var tbl = document.getElementById("outtest div ID").childNodes[0].childNodes[0];
可以取得table对象
改变table行的颜色,通过改变i行的样式实现的代码是
tbl.rows[i].className = "行的className";
  • 打赏
  • 举报
回复
发帖
JavaScript
加入

8.6w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
申请成为版主
帖子事件
创建了帖子
2007-10-20 04:56
社区公告
暂无公告