Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
276 views
in Technique[技术] by (71.8m points)

javascript - How to modify .innerHTML text?

So this is what I have in my body tag:

<div class="my-block">

    <p id="demo">

    <font size="5">Old text<br><br>

    <b><text onClick="myFunction()">Click here to continue!</text></b></p> 

    <script>
        function myFunction() {
        document.getElementById("demo").innerHTML = "New text"; 
    }
    </script>

    </font>
</div>

That works in replacing the text like I wanted it to, but the formatting (like text size) changes to default in the .innerHTML and I can't seem to figure out how to get it back. I can make it bold, small, etc., but I want to change the size to 5 like the rest. I tried to put the font face tag in the quotations (and outside the quotations) with "new text":

document.getElementById("demo").innerHTML = "<font size="5"> New text </font>";

but it didn't work, even though that works with bold and small.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Ignoring your invalid markup for now, your quotes are nested incorrectly (double-quotes in a double-quoted string). Try

document.getElementById("demo").innerHTML = '<font size="5">New text</font>';

Alternatively, just target the <font> tag

document.querySelector('#demo > font').innerHTML = "New Text";

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...