2017-10-17 125 views
0

的innerHTML的位置我有一个像如何更改div标签

<div role="columnheader" class="cell">Value 

</div> 

DIV类之后,我加入了一些输入作为achild到这个div。

var Header = SomeMethod.text; 
var inputChek = document.createElement("input"); 
inputChek.setAttribute("type","checkbox"); 
inputChek.setAttribute("id",col[i].id); 
inputChek.onchange = MyMethod; 
divClass[].appendChild(inputChek); 

然后我得到了我的div有点像这个

<div role="columnheader" class="cell">Value 
    <input type="checkbox" id="Value" > 
</div> 

我正在输入的标签前值。我想要输入标签后的值。有什么办法可以解决这个问题吗?

回答样本 价值

回答

2

您可以使用insertAdjacentElement()方法并将afterbegin设置为第一个参数。

var inputChek = document.createElement("input"); 
 
inputChek.setAttribute("type","checkbox"); 
 
inputChek.setAttribute("id", 'Value'); 
 
document.querySelector('div').insertAdjacentElement('afterbegin', inputChek);
<div role="columnheader" class="cell">Value</div>

1

而不是

divClass[].appendChild(inputChek); 

使用本:

divClass[].insertBefore(inputChek, divClass[].firstChild); 
1

可以使用prepend功能https://jsfiddle.net/Lna6s2kz/1/

var Header = SomeMethod.text; 
var inputChek = document.createElement("input"); 
inputChek.setAttribute("type","checkbox"); 
inputChek.setAttribute("id",col[i].id); 
inputChek.onchange = MyMethod; 
divClass[].prepend(inputChek);