不能更改内部HTML
Can't change inner HTML
function order(){
var i = 1;
while(i != 0){
if(sessionStorage.getItem("taska"+i)!=null){
var p1 = sessionStorage.getItem("taska"+i);
var p2 = sessionStorage.getItem("price"+i);
var a = document.createElement('td');
a.innerHTML = sessionStorage.getItem("id"+i);
var b = document.createElement('td');
var b1 = document.createElement('img');
b1.src = '/obrazky/taska_'+p1+'.png';
b.appendChild(b1);
var c = document.createElement('td');
c.innerHTML = p1;
var d = document.createElement('td');
d.innerHTML = ''+p2+' Kč';
var e = document.createElement('td');
var e1 = document.createElement('input');
e1.type = 'number';
e1.setAttribute("id", i);
e1.onclick = totalPrice(this);
e.appendChild(e1);
var f = document.createElement('td');
f.setAttribute("id", "total"+i);
f.innerHTML = ''+p2+' Kč';
document.getElementById('tr'+i).appendChild(a);
document.getElementById('tr'+i).appendChild(b);
document.getElementById('tr'+i).appendChild(c);
document.getElementById('tr'+i).appendChild(d);
document.getElementById('tr'+i).appendChild(e);
document.getElementById('tr'+i).appendChild(f);
i++;
}else{
i=0;
}
}
}
function totalPrice(nofitems){
var x = nofitems.id;
var y = nofitems.value*Number(sessionStorage.getItem("price"+x));
document.getElementById('total'+x).innerHTML = y+' Kč';
}
我已经创建了函数顺序插入一些html元素。当物品数量增加时,我想改变元素变量f。我使用totalPrice函数来完成此操作,但无论何时调用它,控制台都会弹出:
Uncaught TypeError: Cannot set property 'innerHTML' of null
我认为,它不能通过id找到创建的元素。谢谢你的帮助。
首先,我看到这行代码有些不对劲:
e1.onclick = totalPrice(this);
不会将totalPrice
函数附加到e1元素的onclick事件上。此外,当前上下文中的关键字this
指的是窗口对象,因此没有意义将其作为参数发送给totalPrice
函数。它应该像这样:
e1.onclick = totalPrice;
你还应该调整你的totalPrice函数来获得商品的总数并计算相应的价格
编辑:函数应该是这样的
function totalPrice(){
var x = this.id;
var y = this.value*Number(sessionStorage.getItem("price"+x));
document.getElementById('total'+x).innerHTML = y+' Kč';
}
尝试创建一个文本节点并将其添加到元素f
http://www.w3schools.com/jsref/met_document_createtextnode.asp
如果这还不够,那么试着换掉这一行:
f。setAttribute("id","总"+ i);
:
f。Id = "total"+i;
引用:
在IE中动态设置输入元素的id属性:setAttribute方法的替代
http://www.w3schools.com/jsref/prop_html_id.asp相关文章:
- Javascript内部HTML动画
- Javascript,在body_class()=登录时更改内部html
- 如何从data_response获取父元素内部的html
- 如何自动将页码添加到HTML页面上的所有内部链接
- 带有输入值的内部HTML
- 内容可编辑分区-根据内部HTML位置的光标位置
- 如果通过字符串变量发送,HTML内部的子窗口将显示为文本
- inner.html内部的JavaScript函数调用
- 如何从 html 内部的角度.js调用源函数
- 使用JavaScript引用HTML内部标记
- 如何从Html内部的JavaScript函数中获取返回值
- 重新安排HTML内部Div
- 图像库与覆盖和html内部不能覆盖正确的图像.jquery
- 无法读取未定义的HTML内部属性
- 导入外部HTML内部内容与Javascript AJAX没有Jquery
- 如何更新html内部的元素
- .每个通过HTML内部变量
- 脚本代码语法..html内部注释
- 使用$(文档).准备好了一个HTML内部的变量
- JavaScript从任意URL的HTML内部获取一些信息