function editfabricm(btn) {
var f = $(btn).closest('form');//button所在表单
//找到此表单下的输入框显示,span隐藏
var labelarr=f.find('label');
var textarr=f.find(':text');
for(var i=0;i<=labelarr.length;i++){
var s=labelarr[i].innerText;
textarr[i].value=s;
s="";
}
f.find(':text').show();
f.find('label').hide();
}
我这样写,取innertext的值时会报错, Cannot read property 'innerText' of undefine?
for (var i = 0; i <= labelarr.length; i++) {
==>去掉=号
for (var i = 0; i < labelarr.length; i++) {
Innertext没有定义!获取值的方式错了!你用的dom的应该用jq的方法
你应该是没取到元素,我弄了个小例子 你看看参考一下
没明白你的意思
不过你通过ID取一下form
//找到form标签里的span标签
var files = $("#formID>span");
// 遍历数组
for(var i=0;i<files.length-1;i++){
fileName = files[i].innerText; // 这样是没有问题的
}
var s=labelarr[i].html();
textarr[i].val(s);
s="";
可以在浏览器上断点调试一下,看是都是因为没有抓取到对象而报的错误?