无法动态地在图像上添加文本

时间:2013-07-04 11:17:56

标签: javascript html5 css3

我正在使用HTML5 + Javascript设计移动网页。我动态地添加了一个图像'javascript。但是当我试图动态地在该图像上设置文本时,它不起作用。

我希望文字显示在图片上方。 我的代码是;

  <script>
  for(var i=0;i<5;i++) {
  var ele = document.getElementById('container');
  var table = document.createElement('table');
  table.className = 'c1';
  var tr = document.createElement('tr');
  var td = document.createElement('td');
  /* image added dynamically */
  var img = new Image();
  img.src = "Images/car.jpeg";
  img.className = 'c3';
  var txt = document.createTextNode('IE8');

  td.appendChild(img);
  img.appendChild(txt);
  tr.appendChild(td);
  table.appendChild(tr);
  ele.appendChild(table);
  }

  <style> .img{height:50px;width:50px;}
  .c1 {height:60px; width:100px;} 
  </style>
  <body id='container'></body>

我尝试过添加div组件&amp;然后添加文本+背景图像。它也没有用。

2 个答案:

答案 0 :(得分:2)

更好的选择是将图像设置为文本容器的CSS image-background属性。

<td style="background-image: url('path_to_image');">

一个不太好的技术是将文本放在容器上浮动,具有绝对位置(这需要JS)和z-index大于图像元素。

答案 1 :(得分:1)

试试@Edorka建议

td.backgroundImage = “URL( '图像/ car.jpeg')”;

不要创建img元素。