Javascript 添加一个<;br>;或<;p>;使用createElement
如何在表格前后添加Javascript 添加一个<;br>;或<;p>;使用createElement,javascript,dom-manipulation,createelement,Javascript,Dom Manipulation,Createelement,如何在表格前后添加createElement(br)?我用doc.body.appendChild试过(p)在最后,但什么也没发生。我不知道我必须在哪里写appendchild function insertBlock(border) { var doc = document.getElementById("frame").contentWindow.document; var p = doc.createElement("br");
createElement(br)
?我用doc.body.appendChild试过(p)代码>在最后,但什么也没发生。我不知道我必须在哪里写appendchild
function insertBlock(border)
{
var doc = document.getElementById("frame").contentWindow.document;
var p = doc.createElement("br");
var range = doc.getSelection().getRangeAt(0);
myParent=document.getElementById("frame").contentWindow.document.body;
if (border == true)
{
myTable=document.createElement("table");
myTable.setAttribute("style","border: 1px solid #000000;");
}
else
{
myTable=document.createElement("table");
}
// IE5, IE6 benoetigen unbedingt tbody-Element
myTBody=document.createElement("tbody");
myRow=document.createElement("tr");
myCell=document.createElement("td");
myText=document.createTextNode("Die erste Zelle");
myCell.appendChild(myText);
myRow.appendChild(myCell);
myCell=document.createElement("td");
myText=document.createTextNode("Die zweite Zelle");
myCell.appendChild(myText);
myRow.appendChild(myCell);
myTBody.appendChild(myRow);
myTable.appendChild(myTBody);
myParent.appendChild(myTable);
range.insertNode(myTable);
}
应该在这里:
myParent.appendChild(p);
myParent.appendChild(myTable);
myParent.appendChild(p.cloneNode());
请注意,第二个是克隆。当它不是。只会添加第二个。(不能添加元素两次)
当然,您也可以添加两个不同的对象
myParent.appendChild(p);
myParent.appendChild(myTable);
myParent.appendChild(p2);
或不带任何变量:
myParent.appendChild(doc.createElement("br"));
myParent.appendChild(myTable);
myParent.appendChild(doc.createElement("br"));
试试这个:
myTable.insertAdjacentHTML('afterend','<br />');
myTable.insertAdjacentHTML('beforebegin','<br />');
你是说?如果你这样做是为了分隔元素,那么你肯定采取了错误的方法。您应该考虑使用CSS添加边距来实现这一点<代码>
应该成为过去。此外,有了大量的DOM操作,我还将尝试查看一个模板库,如Handlebar。也就是说,如果你看代码中的注释,它们的目标是IE5,这本身已经是过去的事情了。但这两个br最终会相加,为什么?myParent=document.getElementById(“框架”).contentWindow.document.body;我的父母和孩子(p2);最后是同一个myParent.appendChild(p);是否在追加表之前追加?你有没有检查过p和p2是否已经设置好?你有联机的地方吗?add是在结束之后,而不是在开始之前。你想在结束之后和开始之前添加它吗?我试过了,但我只在表的末尾得到了break,哪一个会这样做?因为在编辑的答案中,在表格之后和之前添加
var p = doc.createElement("br");
myParent.insertBefore(p,myTable);
myParent.insertBefore(p.cloneNode(),myTable.nextSibling);