Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

459
Visualizações
Making a text bold using DOM Events

i'm learning JavaScript now, and for practicing, i'm trying to make a text editor. Where you can type something, click a button and make it to upper or lower case, bold and talic. It worked with lower and upper case, but for some reason it doesn't work with bold.

Here's my HTML:

<h1 id="text">Escreva seu texto abaixo</h1>

<div id="container">
    <input type="text" id="type">
</div>
<main>
    <ul>
        <li class="buttons">
            <button id="button1">A</button>
        </li>
        <li class="buttons">
            <button id="button2">a</button>
        </li>
        <li class="buttons">
            <button id="button3">B</button>
        </li>
        <li class="buttons">
            <button id="button4">I</button>
        </li>
    </ul>
</main>

And here's the script:

>  let text = document.getElementById("text")
>         let input = document.getElementById("type")
>         let button1 = document.getElementById("button1")
>         let button2 = document.getElementById("button2")
>         let button3 = document.getElementById("button3")
>         let button4 = document.getElementById("button4")
>         let value1 = document.getElementById("type").value
> 
> 
>         button1.onclick = uppercase
>         button2.onclick = lowercase
>         button3.onclick = bold
>         button4.onclick = italic
> 
>         function uppercase(){
>             text.innerHTML = value1.toUpperCase()
>         }
> 
>         function lowercase (){
>             text.innerText = input.value.toLowerCase()
>         }
> 
>         function bold(){
>             text.innerText = input.value.style.fontWeight="bold";
>         }

The text that will be changed will be the h1, at the top of the HTML. Also, i wrote

let value = document.getElementById("type").value

to spare me some time, but when i click the button1 (uppercase) the text just disappear. The button2, with input.value worked fine. So why the var value1 makes and the text disappear and why can't i make the text bold?

Thank you!`

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

The problem is you are changing the input.value to bold. You can't style the input.value you should directly change the input style.

Also, you can't use the input.value = it is not built-in function like toUpperCase, it is style.

Use input.value.style.fontWeight may work, but you need to apply it back which click on other element which is messy. The easiest way is to <b> so you don't have to worry to change it back.

Also, I problem I have to mentioned, you should declare the input value inside the function, you declare it at the beginning which will always be empty since you assign the value at page loading.

let text = document.getElementById("text")
let input = document.getElementById("type")
let button1 = document.getElementById("button1")
let button2 = document.getElementById("button2")
let button3 = document.getElementById("button3")
let button4 = document.getElementById("button4")


button1.onclick = uppercase
button2.onclick = lowercase
button3.onclick = bold
//button4.onclick = italic

function uppercase() {
let value1 = document.getElementById("type").value
  text.innerHTML = value1.toUpperCase()
}

function lowercase() {
  text.innerText = input.value.toLowerCase()
}

function bold() {
  text.innerHTML = '<b>'+input.value+'</b>'
}
<p id="text">Escreva seu texto abaixo</p>

<div id="container">
  <input type="text" id="type">
</div>
<main>
  <ul>
    <li class="buttons">
      <button id="button1">A</button>
    </li>
    <li class="buttons">
      <button id="button2">a</button>
    </li>
    <li class="buttons">
      <button id="button3">B</button>
    </li>
    <li class="buttons">
      <button id="button4">I</button>
    </li>
  </ul>
</main>

over 4 years ago · Santiago Trujillo Relatório

0

you need to give CSS to the object, not the text something like this :

input.style.fontWeight="bold";
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda