通过firstChild得到属性值的问题 t1是td啊大哥...为什么不用dom的方法呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主不要忘了还有TBODY的..就算你不写..这个节点在table是一定有的.. 不知道这样说你清楚了没有??<table id="b"><tr><td>a</td><td><input type="textbox" name="basicCon" style="width:60px" value="1"> </td></tr></table><script>//ie对table的解释不同其他w3c浏览器,如ff的,他会把tbody标签加上,所以你代码回出错var toj=document.getElementById("b"); alert(toj.outerHTML)//你输出table的所有代码就知道ie把tbody加上了// tbody tr 第2个tdvar t1 =toj.firstChild.firstChild.lastChild; alert(t1.innerHTML);//已经能得到 <input type="textbox" name="basicCon" style="width:60px" value="1"> //你的t1为td,当然没有value属性了alert(t1.value); //为什么不是1,而是没定义类型啊 //====》alert(t1.firstChild.value) // tbody trtoj.firstChild.lastChild; // tbody trtoj.firstChild.firstChild; 为什么都是一样的?而不是2个不同的td里的元素?谢谢</script> <table id="b"><tr><td>a</td><td><input type="text" name="basicCon" style="width:60px" value="1"> </td></tr></table><script type="text/javascript">var toj=document.getElementById("b"); var t1 =toj.firstChild.firstChild.lastChild; alert(t1.tagName);alert(t1.innerHTML);var t2 = t1.firstChild;alert(t2.value);</script>t1实际上不是你要的input,而是td。t1内的input(实际上是t2)才是你想要取值的东西 t1.innerHTML能得到那个对象啊,是不是忽略了TBODY?谢谢 哦,谢谢,以后对于table内取值的是不是用table的row,cell比较好 t1.innerHTML得到的是input这个tag,所以是有对象的,innerHTML指的是该元素的内嵌页面元素,所以有,但是如果你使用t1.value可就是指要获取该元素的value属性的值了,这个是两回事,value属性必须是写在元素中的,而不是其包含的页面元素不知道这么说楼主是否明白 大可不必:1. 首先的话,应该尽量减少对table的使用,如果能够替换,请尽量使用div2. 如果必须使用table,但是可能只对其中的特定行或者列进行修改定位的话,完全可以为其添加id属性,然后通过document.all(id)的方式来直接获取3. 如果遇到要对表格的所有cell进行遍历的情况,那么再使用循环row,再循环其中的cell的方式,一般也不会用到这种程度,因为到这种程度的话,完全可以有其他的替代方案了。为楼主做个参考 关于取DOM,在不同的浏览器中是有一定区别的!参见:HTML DOM节点在各浏览器中的识别差异http://blog.doyoe.com/article.asp?id=176简单修正:http://www.v-ec.com/jslib/点击左侧的【resetChildNodes】进行查看。 <body><table id="b"><tr><td>a</td><td><input type="textbox" name="basicCon" style="width:60px" value="1"></td></tr></table></body><script>var toj = document.getElementById("b");var t1 = toj.firstChild.firstChild.lastChild;alert(t1.innerHTML);alert(t1.firstChild.value);</script> 如何使用find或filter来读取指定过滤条件的xml元素 ext语法错误? 关于JS代码获取焦点问题 如何在一个div中的拖动overflow-x ,使另一个div同步移动 如何判断控件的类型???急急急 求eclipse的js Formatter模板 怎样判断文本框内输入的日期符合yyyy-mm-dd格式,并且输入的日期有效? 解决就有分 http://www.huihuicai.net/里的蚂蚁在爬是怎么做的? 这里该如何传递,请各位指点! ★JS无刷新更新数据★ 求教~~~~javascript如何操作CSS????
<tr>
<td>a</td>
<td><input type="textbox" name="basicCon" style="width:60px" value="1"> </td>
</tr>
</table>
<script>
//ie对table的解释不同其他w3c浏览器,如ff的,他会把tbody标签加上,所以你代码回出错
var toj=document.getElementById("b");
alert(toj.outerHTML)//你输出table的所有代码就知道ie把tbody加上了
// tbody tr 第2个td
var t1 =toj.firstChild.firstChild.lastChild; alert(t1.innerHTML);//已经能得到 <input type="textbox" name="basicCon" style="width:60px" value="1"> //你的t1为td,当然没有value属性了
alert(t1.value); //为什么不是1,而是没定义类型啊
//====》
alert(t1.firstChild.value)
// tbody tr
toj.firstChild.lastChild;
// tbody tr
toj.firstChild.firstChild; 为什么都是一样的?而不是2个不同的td里的元素?谢谢
</script>
<table id="b">
<tr>
<td>a</td>
<td><input type="text" name="basicCon" style="width:60px" value="1"> </td>
</tr>
</table><script type="text/javascript">
var toj=document.getElementById("b");
var t1 =toj.firstChild.firstChild.lastChild;
alert(t1.tagName);
alert(t1.innerHTML);
var t2 = t1.firstChild;
alert(t2.value);
</script>t1实际上不是你要的input,而是td。t1内的input(实际上是t2)才是你想要取值的东西
不知道这么说楼主是否明白
1. 首先的话,应该尽量减少对table的使用,如果能够替换,请尽量使用div
2. 如果必须使用table,但是可能只对其中的特定行或者列进行修改定位的话,完全可以为其添加id属性,然后通过document.all(id)的方式来直接获取
3. 如果遇到要对表格的所有cell进行遍历的情况,那么再使用循环row,再循环其中的cell的方式,一般也不会用到这种程度,因为到这种程度的话,完全可以有其他的替代方案了。为楼主做个参考
参见:
HTML DOM节点在各浏览器中的识别差异
http://blog.doyoe.com/article.asp?id=176简单修正:
http://www.v-ec.com/jslib/
点击左侧的【resetChildNodes】进行查看。
<table id="b"><tr><td>a</td><td><input type="textbox" name="basicCon" style="width:60px" value="1"></td></tr></table>
</body>
<script>
var toj = document.getElementById("b");
var t1 = toj.firstChild.firstChild.lastChild;
alert(t1.innerHTML);
alert(t1.firstChild.value);
</script>