谁帮我看看这段代码的问题关于nextSibling获得不了值

代码片段
function txtProductCountBlurred(txt_product_count){
var s_product_count = txt_product_count.value.trim();
var txt_o_product_count = txt_product_count.nextSibling; //old hidden product couunt
var o_product_count =txt_o_product_count.value.trim();
。。。。。。。。。。。
}
html代码


nextSibling就是指下一个兄弟元素.[quote]var o_product_count =txt_o_product_count.value.trim();就不行了[/quote]是因为txt_product_count.nextSibling的结果并不是[code="java"]" onkeypress=" if((arguments[0] || window.event).keyCode==13)txtProductCountBlurred(this);" onblur="txtProductCountBlurred(this);" class="cartcurrent"/>[/code]不和[code="java"]

Javascript中根本没有trim()这个函数.所以会报对象没有此方法或属性的错误.

nextSibling得不到是由于两个标签之间出现了间隔.浏览器会把每个文本当做一个TextNode对象(Javascript中并没有TextNode对象,这里只是起一个说明作用)进行处理.所以你得到的nextSibling就是一个空字符串组成的TextNode对象.所以得到的txt_o_product_count是一个对象.但是调用它的value属性就会报错.

第一点可以通过自己写一个trim函数进行处理.
第二个问题把两个input之间的间隔去掉就可以了.

哈哈, 显然我是一个js外行! :oops: