当前位置: 首页 > 知识库问答 >
问题:

当我在JavaScript中调用代码时,该样式不适用于代码的一部分?

安泰平
2023-03-14

大家好,我是Web开发方面的新手,更多的是JavaScript方面的新手。 我在codepen.io中练习了一些Javascript来学习它,但我遇到了一个问题:

我用Javacript方法createElement()=>创建了一个元素; 元素是div。 我把它的样式设置为=>; 它起作用了

我还用一个按钮在HTML文件中创建了一个textarea,并将

textarea的text/value位于div(innerHTML)的内部,这部分可以正常工作,但是我想应用一些样式(使用.style=“{some styles goes here}”或方法classlist.add(“classx”),但是它们都不能工作,就像它们都被忽略了一样。

null

let div = document.createElement('div');
document.body.appendChild(div);
div.classList.add("test");

// Ici j'attrape l'INPUT
let inputText = document.querySelector("#txtarea");

//Ici j'atrappe le boutton => qui me permettra plus tard d'envoyer la valeur de ce que l'utilisateur aura écris dans l'input précédent au sen de la div à fond Jaune
let btn_send = document.querySelector("button");

//Processus d'envoi de la valeur 
btn_send.addEventListener("click", function() {
  //   Variable me permettant de mettre la main sur la valeur de l'input
  let value_style = inputText.value;


  //Intégration du text avec InnerHTML dans la div
  setTimeout
    (function() {
      div.innerHTML = value_style;
    }, 1000);


  // ajout de style au texte que l'on va envoyer dans la Div 


  //L'on vide l'input de sa valeur => pour renvoyer une  nouvellle valeur 
  inputText.value = "";
})
* {
  margin: 0;
  box-sizing: border-box;
}

h1 {
  background: red;
}

.test {
  background-color: yellow;
  height: 45vh;
  width: 90%;
  border: 1px outset black;
  margin: 11vh auto;
}

.style {
  text-align: center;
  font-family: 'Helvetica', sans-serif;
  color: #64a;
  padding: 10px;
  border: 1px solid blue;
  background-color: #66e;
}
<!DOCTYPE html>
<html lang="fr">

<head>
  <title>Test</title>
</head>
<meta charset="utf-8">

<body>
  <header></header>
  <footer></footer>
  <label>Tapez quelque chose à afficher dans la div à fond jaune:</label>
  <textarea id="txtarea" placeholder="..."></textarea>
  <button>Appuyez pour envoyer</button>
</body>



</html>

null


共有1个答案

唐恺
2023-03-14

您的.style类没有设置到任何内容上。 如果您想对新添加的文本进行样式化,您需要将其包装在某个东西中(在我的示例中,我将其包装在span)。

您可以使用CreateElement创建span,方法与使用CreateElement创建div相同。 在我的示例中,我只是让它向innerHTML中添加一个字符串,它将作为元素呈现。

null

js prettyprint-override">let div = document.createElement('div');
document.body.appendChild(div);
div.classList.add("test");

// Ici j'attrape l'INPUT
let inputText = document.querySelector("#txtarea");

//Ici j'atrappe le boutton => qui me permettra plus tard d'envoyer la valeur de ce que l'utilisateur aura écris dans l'input précédent au sen de la div à fond Jaune
let btn_send = document.querySelector("button");

//Processus d'envoi de la valeur 
btn_send.addEventListener("click", function() {
  //   Variable me permettant de mettre la main sur la valeur de l'input
  let value_style = inputText.value;


  //Intégration du text avec InnerHTML dans la div
  setTimeout
    (function() {
      div.innerHTML += `<span class="style">${value_style}</span>`;
    }, 1000);


  // ajout de style au texte que l'on va envoyer dans la Div 


  //L'on vide l'input de sa valeur => poir renvoyer une       vouvellle valeur 
  inputText.value = "";
})
* {
  margin: 0;
  box-sizing: border-box;
}

h1 {
  background: red;
}

.test {
  background-color: yellow;
  height: 45vh;
  width: 90%;
  border: 1px outset black;
  margin: 11vh auto;
}

.style {
  text-align: center;
  font-family: 'Helvetica', sans-serif;
  color: #64a;
  padding: 10px;
  border: 1px solid blue;
  background-color: #66e;
}
<!DOCTYPE html>
<html lang="fr">

<head>
  <title>Test</title>
</head>
<meta charset="utf-8">

<body>
  <header>

  </header>


  <footer>

  </footer>
  <label>Tapez quelque chose à afficher dans la div à fond jaune:</label>
  <textarea id="txtarea" placeholder="..."></textarea>
  <button>Appuyez pour envoyer</button>

</body>



</html>
 类似资料:
  • 我对代码有问题,因为它不能正常工作。这部分代码在第一个播放器上运行时有效 当第二个玩家接触水时,什么也没有发生。没有错误。下面是完整的代码: 我很确定第二个玩家的“结束”是真的,所以它不会这样做。

  • 当我尝试在WSL2终端中打开VS代码时,如下所示: 我得到以下错误: 用sudo启动时: 我在Windows上的路径中添加了VS代码,并安装了WSL Remote 我正在致力于: Windows10Pro 10.0。19041 WSL 2 Ubuntu 20.04 LTS 代码1.47。一,

  • 问题内容: 如果可以的话,如何在Wicket的JavaScript代码中调用Java代码(例如方法)。 问题答案: 呃 正确的答案应该是ajax回调。您可以手动将js编码为挂钩到wicket js,也可以在java中通过wicket组件设置回调。例如,从AjaxLazyLoadPanel中: 本示例说明如何将回调代码添加到Wicket中的任何组件。在浏览器中触发OnDomReady事件后,加载页面

  • 实际上,我希望从IntelliJ导出代码样式设置(默认的设置很好),并在CheckStyle中使用它们。(它是用于maven构建验证的,这种东西已经设置好了,但我们希望使用IntelliJ的代码风格,而不是Sun或Googles的代码风格) 第一步应该是导出IntelliJ代码样式。似乎说起来容易做起来难。 现在,我知道在SO和其他地方都有很多关于这个的材料,但我根本找不到代码样式的xml文件,甚

  • 因此,下面的代码适用于一个活动,但当我使用onCreateView将其添加到一个片段中时,应用程序就会崩溃 Fragment公共类步骤扩展Fragment{ 12-13 15:17:15.062 984-984/com.stephenh.daytrack.daytrack.daytrackstephenh E/AndroidRuntime:致命异常:主进程:com.stephenh.daytrac

  • 问题内容: 我已经看到许多有关使用方法的堆栈溢出问题的答案。我还看到用户在他们的评论下说“ apply很慢,应该避免”。 我已经阅读了许多有关性能的文章,这些文章解释得很慢。我还在文档中看到了关于免除apply传递UDF的便捷功能的免责声明(现在似乎找不到)。因此,普遍的共识是,应尽可能避免。但是,这引起了以下问题: 如果apply太糟糕了,那为什么在API中呢? 我应该如何以及何时使代码免费?

  • 我正在编写一个 C# 应用程序来解码此字符串: "--W 3原文3 R hcn Rfd Gl tZ SI 6 I jAi L CJ w cm 9 k dW N 0 X 2 lk I jo iO D Q wM DMz MD气LC J 1 cm wi O iI if Sx 7 InN 0 Y XJ 0 X 3 Rp b WU iO iI 3 OS In by b 2 R 1 Y 3 Rfa WQ iO

  • 问题内容: 我创建了一个Java类内容方法,返回一个String,我的问题是如何在我的JavaScript代码中调用此函数以使用从java方法返回的值。我想调用嵌入在浏览器中的客户端Java代码。 这是我在说什么的一个例子: 在我的网页中,我有一个javascript代码,下面是其中的一些内容: 我想创建一个Java类内容方法来向此javascript函数“ GanttTaskInfo”提供数据。