一直做Java开发 对js,jquery非常不了解,今天被这个问题困扰了一下午,终于解决的,做个记录,便于以后查看
之前使用js写的 但是获取不到值
var row=checkbox.parentElement.parentElement;
if(flag){
var version=row.cells[0].childNodes[0].value;
var itemsSelfId=row.cells[0].childNodes[1].value;
var canAuditCount=row.cells[3].childNodes[0].value;
row.cells[4].innerHTML='<input type="hidden" name="itemSelfId" value="'+itemsSelfId+'"><input type="hidden" name="version" value="'+version+'"><input type="text" name="auditCount" style="width:100;" value="'+canAuditCount+'" οnkeypress="justNumber()" class="inputClass" οnblur="compareCount(this,'+canAuditCount+')"/>';
}else{
row.cells[4].innerHTML='';
}
改为下面jquery方法就可以获取
var tr = $(checkbox).parent("td").parent("tr");
if(flag){
var version=tr.children('td').eq(0).children('input').eq(0).val();<!--tr下第1个td中的第一个子节点(input)-->
var itemsSelfId=tr.children('td').eq(0).children('input').eq(1).val();<!--tr下第1个td中的第二个子节点(input)-->
var canAuditCount=tr.children('td').eq(3).children('input').eq(0).val();<!--tr下第3个td中的第一个子节点(input)-->
tr.children('td').eq(4).html('<input type="hidden" name="itemSelfId" value="'+itemsSelfId+'"><input type="hidden" name="version" value="'+version+'"><input type="text" name="auditCount" style="width:100;" value="'+canAuditCount+'" οnkeypress="justNumber()" class="inputClass" οnblur="compareCount(this,'+canAuditCount+')"/>');
}else{
tr.children('td').eq(4).html('');
}
原理不太清楚,上面的方法浏览器不兼容,之前一直用ie8没什么问题。