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

287
Visualizações
Si es verdadero, devuelve una cadena; de lo contrario, devuelve otra cadena.

El código contiene errores: SyntaxError no capturado: token inesperado 'if' en indefinido: 18 : 22

Al subir a Greasyfork tengo ese error. El archivo javascript es:

 // ==UserScript== // @name Docubuilder // @namespace Editors // @match *://* // @grant none // @version 1.0 // @author Josiah // @description Josiah's Docubuilder builds anything on the current document. This also works on HTML files! // ==/UserScript== console.log("Starting to make builder's button so hang on!") function buildermain() { tobuild = prompt("Insert any valid HTML element, cancel or input nothing and a tab will open with a list of HTML elements.") if (tobuild == '' || tobuild == null) { window.open("https://developer.mozilla.org/en-US/docs/Web/HTML/Element") } else { mynew = document.createElement(tobuild) myhtml = prompt("Text to display...") mynew.innerHTML = if (!(myhtml == null)) { return myhtml } else { return 'A random ' + tobuild + '.'} document.body.insertBefore(mynew, null) alert("Done! Check the bottom of the page!") } } const builderbutton = document.createElement('button') builderbutton.onClick = "buildermain()" builderbutton.innerHTML = "Start building some stuff!" document.body.insertBefore(builderbutton, document.body.firstChild)
Tal vez fue el si, así que estoy tratando de encontrar una manera de devolver una cadena a una variable en una sola línea.

¿Alguna ayuda aquí?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

El operador condicional (ternario) puede ayudar: mynew.innerHTML = (!(myhtml == null)) ? myhtml : 'A random ' + tobuild + '.';

about 4 years ago · Juan Pablo Isaza Relatório

0

El problema es que if() no devuelve un valor. No asignará un valor a la propiedad innerHTML .

Hay algunas opciones para solucionar esto.

  1. Crear una función

     function buildermain() { // [...] mynew.innerHTML = getHtml(myhtml, tobuild); // [...] } const getHtml = (myhtml, tobuild) => { if (myhtml !== null) { return myhtml; } return `A random ${tobuild}.`; }
  2. Usar el operador ternario

     function buildermain() { // [...] mynew.innerHTML = myhtml !== null ? myhtml : `A random ${tobuild}.`; // [...] }
  3. Use if, else (correcto) sin asignación directa a innerHtml

     function buildermain() { // [...] if (myhtml !== null) { mynew.innerHTML = myhtml; } else { mynew.innerHTML = `A random ${tobuild}.`; } // [...] }
about 4 years ago · Juan Pablo Isaza 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