使用Javascript添加文本的不同方法

时间:2013-06-05 23:17:10

标签: javascript

到目前为止,我知道两种我不喜欢使用的方法:

var newText = document.createTextNode("New Text");
someDiv.appendChild( newText );

或此方法:

someDiv.innerText = "New Text";
someDiv.innerHtml = <em>"New Text"</em>; //or something like this I forget the exact syntax.

有没有办法使用css样式定位像图像的文本?我首选的方法是这样的:

var newText = document.createTextNode("New Text");
someDiv.appendChild( newText );
newText.style.position = "absolute";
newText.style.top = "150px";
newText.style.left = "300px";

任何人都知道如果没有为我希望定位在某个特定位置的每个文本创建一个新的div,这是否可行?我找不到那种东西。

作为旁注问题,为文本创建50个div会被视为错误编码吗?

提前感谢您提供任何信息,抱歉这个蹩脚的问题

编辑:

感谢大家的帮助,似乎完全像这样:

    var testSpan = document.createElement("span")
    testSpan.innerText = "Testing";
    someDiv.appendChild(testSpan);
    testSpan.style.position = "absolute";
    testSpan.style.left = "500px";

2 个答案:

答案 0 :(得分:1)

为什么不添加className to the div而不是为每个div设置样式。

newText.className = "newDiv";

.className {
     position : absolute;
     top      : 150px;
     left     : 300px;
}

要定位任何特定元素,应在应用样式的元素内定义它。所以你应该创建一个元素来充当容器来保存相应的txt。

答案 1 :(得分:1)

即使您没有创建div或span,标准也会命令浏览器围绕任何自由文本元素创建anonymous inline box - 所以不要担心,document.createElement("span")使用className作为Susanth建议 - 它编码也不错:如果你想定位它们,它们应该有明确的框元素。