没有jQuery更改元素文本?

时间:2013-03-08 14:44:19

标签: javascript

我试图在不使用jQuery的情况下更改div的内容。我想按id或class选择div。

我设法得到了补救工作:

function appendHtml(targetC, htmldata) {
    var theDiv = document.getElementById(targetC);
    var newNode = document.createElement('div');
    newNode.innerHTML = htmldata;
    theDiv.appendChild(newNode) 
}

但是无法弄清楚如何更改一个文本..

有什么想法吗?

4 个答案:

答案 0 :(得分:4)

请参阅this小提琴获取基本样本

<html>
<head>
<script>
    function bold(targetC) {
        var theDiv = document.getElementById(targetC);
        theDiv.innerHTML = '<b>' + theDiv.innerHTML + '</b>';
    }
</script>
</head>

<body onload='bold("message")'>
   <div>Hello, World!</div>
   <div id="message">What a nice day!</div>
</body>
</html>

答案 1 :(得分:0)

编辑:

<div id="foo">old text</div>   

JS代码:

function appendHtml(targetC, htmldata) {
    var theDiv = document.getElementById(targetC);
    theDiv.innerHTML = htmldata;
}

appendHtml('foo', 'new text');

这是一个小提琴:http://jsfiddle.net/7QjcB/

答案 2 :(得分:0)

只需使用innerHTML

更改div的html即可
var anyDiv = document.getElementById(targetID);

html = "content";
anydiv.innerHTML(html);

作为您提供的功能的变体:

function changeHtml(targetC, htmldata) {
    var theDiv = document.getElementById(targetC);
    theDIV.innerHTML = htmldata;

}

答案 3 :(得分:0)

这是fiddle,可能会回答您的问题。我改变的只是先获取元素然后传入。

function appendHtml(targetC, htmldata) {
var newNode = document.createElement('div');
newNode.innerHTML = htmldata;
targetC.appendChild(newNode);
}

var getDiv = document.getElementById("testing");