我试图修改这段代码,也给这个div项目一个ID,但是我没有在谷歌上找到任何东西,idName不起作用。我读过一些关于追加的东西,但它似乎相当复杂的任务,似乎相当简单,所以有替代方案吗?谢谢:)
g=document.createElement('div'); g.className='tclose'; g.v=0;
我试图修改这段代码,也给这个div项目一个ID,但是我没有在谷歌上找到任何东西,idName不起作用。我读过一些关于追加的东西,但它似乎相当复杂的任务,似乎相当简单,所以有替代方案吗?谢谢:)
g=document.createElement('div'); g.className='tclose'; g.v=0;
当前回答
为什么不用jQuery来实现呢?
var newDiv= $('<div/>', { id: 'foo', class: 'tclose'})
其他回答
你可以使用Element.setAttribute
例子:
g . setAttribute(“身份证”、“yourId”)
g . setAttribute(“课”、“tclose”)
下面是我做得更好的函数:
function createElement(element, attribute, inner) {
if (typeof(element) === "undefined") {
return false;
}
if (typeof(inner) === "undefined") {
inner = "";
}
var el = document.createElement(element);
if (typeof(attribute) === 'object') {
for (var key in attribute) {
el.setAttribute(key, attribute[key]);
}
}
if (!Array.isArray(inner)) {
inner = [inner];
}
for (var k = 0; k < inner.length; k++) {
if (inner[k].tagName) {
el.appendChild(inner[k]);
} else {
el.appendChild(document.createTextNode(inner[k]));
}
}
return el;
}
示例1:
createElement("div");
将返回这个:
<div></div>
示例2:
createElement("a",{"href":"http://google.com","style":"color:#FFF;background:#333;"},"google");`
将返回这个:
<a href="http://google.com" style="color:#FFF;background:#333;">google</a>
示例3:
var google = createElement("a",{"href":"http://google.com"},"google"),
youtube = createElement("a",{"href":"http://youtube.com"},"youtube"),
facebook = createElement("a",{"href":"http://facebook.com"},"facebook"),
links_conteiner = createElement("div",{"id":"links"},[google,youtube,facebook]);
将返回这个:
<div id="links">
<a href="http://google.com">google</a>
<a href="http://youtube.com">youtube</a>
<a href="http://facebook.com">facebook</a>
</div>
您可以创建新元素,设置属性并添加子元素
createElement("tag",{attr:val,attr:val},[element1,"some text",element2,element3,"or some text again :)"]);
attr或子元素没有限制
var g = document.createElement('div');
g.id = 'someId';
为什么不用jQuery来实现呢?
var newDiv= $('<div/>', { id: 'foo', class: 'tclose'})
你可以使用g.id = 'desiredId'从你的例子中设置你创建的元素的id。
你应该使用.setAttribute()方法:
g = document.createElement('div');
g.setAttribute("id", "Div1");