我知道这是一个非常常见的错误,但我已阅读并阅读,无法弄清楚原因。这可能很容易,但我自己无法解决。
var item = document.createElement("div").className = "item";
var img = document.createElement("img").src = imgpath + $(this).attr("href");;
item.appendChild(img);
感谢任何帮助!
编辑:
var item = document.createElement("div");
item.className = "item";
var img = document.createElement("img");
img.src = imgpath + $(this).attr("href");
item.append(img);
这会引发同样的错误。
答案 0 :(得分:2)
在您的情况下,您正在创建一个div并为其分配一个类名,并为item
变量分配相同的值(类名)。所以它是一个没有appendChild
方法的字符串值。
var item = document.createElement("div");
item.className = "item";
var img = document.createElement("img");
img.src = imgpath + $(this).attr("href");;
item.appendChild(img);
同样的概念也适用于img
答案 1 :(得分:0)
问题在这里
document.createElement("div").className = "item"
它将返回string
,其中没有名为appendChild
的方法。您没有对创建的div
。
你应该这样做
var item = document.createElement("div");
item.className = "item";
var img = document.createElement("img");
img.src = imgpath + $(this).attr("href");
item.appendChild(img);
答案 2 :(得分:0)
因为item是字符串“item”,而不是元素。你需要分解它。
var item = document.createElement("div");
item.className = "item";
图像也需要发生同样的事情。
答案 3 :(得分:0)
document.createElement("div").className = "item";
返回一个字符串,而不是DOM节点,因此它对.appendChild()
一无所知。试试这个:
var item = document.createElement("div");
item.className = "item";
var img = document.createElement("img");
img.src = imgpath + $(this).attr("href");
item.appendChild(img);