在 PhantomJS 中创建带有类名的嵌套元素
create nested elements with classnames in PhantomJS
我正在一个元素中创建一个元素用于测试目的:
const item = document.createElement("div");
// item.className("item");
item.className = "item";
const content = document.getElementsByClassName("item").appendChild("div");
content.className = "content";
但是,我收到错误消息:
undefined is not a constructor (evaluating 'document.getElementsByClassName("item").appendChild("div")'
有人可以帮忙吗?
P.S。感谢所有反馈!
这很容易。 className
是一个 属性
item.className = "item";
2018年秋季更灵活的做法是使用classList
属性 of HTML元素
element.classList.add('item');
如果我没看错你的逻辑,最后的代码如下:
const item = document.createElement('div');
item.classList.add('item');
const content = document.createElement('div');
content.classList.add('content');
item.appendChild(content);
您可能喜欢使用 classList
而不是 className
,因为稍后将删除此元素的所有其他 class。
其次,document.getElementsByClassName("item").appendChild("div");
不会作为 document.getElementsByClassName
returns 节点列表工作。您需要获取索引才能添加元素
const item = document.createElement("div");
item.classList.add("item");
const content = document.getElementsByClassName("item")[0].appendChild("div");
content.className = "content";
我正在一个元素中创建一个元素用于测试目的:
const item = document.createElement("div");
// item.className("item");
item.className = "item";
const content = document.getElementsByClassName("item").appendChild("div");
content.className = "content";
但是,我收到错误消息:
undefined is not a constructor (evaluating 'document.getElementsByClassName("item").appendChild("div")'
有人可以帮忙吗?
P.S。感谢所有反馈!
这很容易。 className
是一个 属性
item.className = "item";
2018年秋季更灵活的做法是使用classList
属性 of HTML元素
element.classList.add('item');
如果我没看错你的逻辑,最后的代码如下:
const item = document.createElement('div');
item.classList.add('item');
const content = document.createElement('div');
content.classList.add('content');
item.appendChild(content);
您可能喜欢使用 classList
而不是 className
,因为稍后将删除此元素的所有其他 class。
其次,document.getElementsByClassName("item").appendChild("div");
不会作为 document.getElementsByClassName
returns 节点列表工作。您需要获取索引才能添加元素
const item = document.createElement("div");
item.classList.add("item");
const content = document.getElementsByClassName("item")[0].appendChild("div");
content.className = "content";