2013-10-05 28 views
0

使用带有javascript的createElementappendchild。我正在努力研究并了解是否可以将div的类,数据等附加到div中。我当前的脚本在<li>中设置了一个图像,我不会发布整个脚本(它很长),因为这是第I部分相信我需要帮助,这里是当前功能:CreateElement并附加两个div

function showUploadedItem (source) { 

var list = document.getElementById("index-slider-list"), 
li = document.createElement("li"), 
remove = document.createElement("div"), 
img = document.createElement("img"); 

img.src = source; 
li.appendChild(img); 
list.appendChild(li); 
} 

这是最终输出(这是我在一个PHP echo ="";做:

<ul id="index-slider-list">// this is present before loop; 
<li><img src='source-here'></li> //it starts here 
</ul> 

让我们说,我想两个div添加这个功能,第一个div有一个类并且包含整个<li>,所以我追加li。第二个是div也有classiddata-toggle,该id实际上是PHP和它的语法可能会导致问题:

<ul id="index-slider-list"> 
<li> 
<div class='thumbnail removable'> //here is new div 
<div class='remove' id='{$row['id']}' data-toggle='remove'></div> //second div 
<img src='source-here'></li>" 
</div> //ends 
</ul> 

下面是我要去的地方(增加这两条线的function showUploadedItem),但它不工作(显然) ,我还没有研究如何发布ID和数据开关:

div = document.createElement("div").className += 'thumbnail removable', 
remove = document.createElement("div").className += 'remove'; 

li.appendChild(div); 
div.appendChild(remove); 

是因为我追加LI两次?采取什么样的最佳方法?任何建议将不胜感激。

回答

1

先创建你的元素作为变量,然后将id和classname添加到像下面这样的变量中。

var myDiv = document.createElement("div"); 
myDiv.id = 'myDiv'; 
myDiv.className = 'thumbnail removeable'; 

var remove = document.createElement("div"); 
remove.id = 'remove'; 
remove.className = 'remove'; 

而且,它的确定在这里发表的完整剧本,它会在iframe粘贴如果它真的很长,将有助于更容易地调试看看还有什么是怎么回事。