我想在图片上动态添加文字。 我试图用javascript / jQuery来做到这一点。 这是代码:
$(document).ready(function()
{
var img = $("img#back1");
var leftpos = img.position().left;
var toppos = img.position().top;
var div = document.createElement('div');
div.style.position = 'absolute';
div.style.top = toppos+"px";
div.style.left = leftpos+"px";
div.innerHTML = '<font> back </font>';
div.style.background = '#CC0000';
document.body.appendChild(div);
});
执行此操作后,我没有在图像上“返回”文本。 此处,无法检索正确位置,以将其传递到div标记的顶部和左侧以指定其上的文本。 如果我在某个地方出错了,请建议/纠正我。
由于
答案 0 :(得分:1)
在图像上添加文本的更好方法是使用css将图像放在背景上。它有很多好处。你可以在这里查看演示
答案 1 :(得分:1)
来自http://api.jquery.com/position/
.position()方法允许我们检索元素相对于偏移父元素的当前位置。将此与.offset()进行对比,后者检索相对于文档的当前位置。
由于动态创建的div
已附加到body
,因此使用offset()
代替position
可能有所帮助。
答案 2 :(得分:0)
您应该访问此网站:
这是你的porpuse的一个很好的教程。我建议你学习更多jQuery,因为你的所有javascript代码都不使用ans jquery功能期望.ready()
答案 3 :(得分:0)
文字没有出现或根本不合适?
如果您没有看到文本,则可能需要在DIV元素中指定'z-index'属性。
要在javascript中添加属性,您可以阅读:How to add/update an attribute to an HTML element using JavaScript?