我的问题是:
我创建了一个元素:
var crt = document.createElement("BUTTON");
var lst = document.createTextNode("\u2103");
crt.appendChild(lst);
crt.id = "change";
$(".information").append(crt); // information is a div
单击时,温度从摄氏度变为华氏度并返回:
var find = true;
var c;
var d = document.getElementById("change");
$( "#change" ).click(function() {
if(find === true) {
c = Math.trunc(s * 1.8 + 32); // s is the temperature in celsius from start
t.innerHTML = "<br>Temperature: " + c;
d.innerHTML = '℉'
find = false;
} else {
c = Math.trunc((c - 32) / 1.8);
t.innerHTML = "<br>Temperature: " + c;
d.innerHTML = "℃";
find = true;
}
});
如果我尝试将某些内容更改为id&#34;则更改&#34;在CSS上,一切正常..但是当我在脚本中使用它并不起作用..但是如果具有id&#34;的元素改变&#34;是从文档的开头手动创建的,代码可以工作..你能告诉我这是什么问题吗?为什么这样使用它并不起作用?
提前致谢。
答案 0 :(得分:2)
提供的codepen中第49-67行的代码执行并尝试在click
id
的元素上设置change
处理程序。代码运行时,该元素尚未出现在文档中。
在使用id
change
动态创建元素后,您需要调用该代码。