textContent不更新HTML

时间:2016-09-05 11:13:28

标签: javascript html

使用Javascript我创建了一个脚本来生成段落中的随机文本。有用。当我打印到控制台时,我看到一段文字。

console.log(randParagraph(sentLength(5,8), '', ipsumText, sentLength(5,12)));

现在我想通过单击按钮更新html文件中的某些文本。以下是我认为应该如何完成的。

const randParagraph = (len, end, words, wordLen) =>
[...Array(len)].map(() => addCommaAfter(fullSentWithEnd,sentLength(3,8)))
.join(' ') + (end || '');


function myFunction() {
var x = (randParagraph(sentLength(5,8), '', ipsumText,sentLength(5,12)));
var y = document.getElementById("ipsum-text").textContent = "x";
}

我的假设是如果console.log工作,我应该将结果存储在一个变量中,这是我正在尝试用var x。

然后在var y中我可以使用getElementById来更改html文本。

<button onclick="myFunction()">change text</button>

<p class="bodyCopy" id="ipsum-text">gimme some ipsum</p>

这是正确的方法吗?它不起作用。 我知道有人会用jquery来做这件事,但我还没有学到它。我还在学习javascript。

2 个答案:

答案 0 :(得分:0)

试试这样:

function myFunction() { 
    var x = (randParagraph(sentLength(5,8), '', ipsumText,sentLength(5,12)));
    document.getElementById("ipsum-text").innerHTML = x;
}

请注意,您不希望在x

周围使用引号

答案 1 :(得分:0)

此代码有效(示例目的):

<div id="textContent">There's some text here!</div>

<script>
    function updateContent() {
        document.getElementById("textContent").textContent = "Newer text!";
    }

    updateContent();
</script>

当您呼叫x变量时,您不需要使用"字符。这段代码可以工作:

function myFunction() {
    var x = randParagraph(sentLength(5,8), '', ipsumText, sentLength(5,12));
    document.getElementById("ipsum-text").textContent = x;
}