当前位置:  开发笔记 > 编程语言 > 正文

HTML/Javascript更改div内容

如何解决《HTML/Javascript更改div内容》经验,为你挑选了4个好方法。

我有简单的HTML代码与一些JavaScript,它看起来像:




  




  
  

  

我只是希望能够改变div的内容(这是内部HTML)选择用的"A"或"B"单选按钮之一,但股利#内容没有javascript属性"值",所以我问它如何完成.



1> Syntactic..:

假如你不使用jQuery或使这种更容易为你的事情其他一些库,你可以使用元素的innerHTML属性.

document.getElementById("content").innerHTML = "whatever";


请使用`innerHTML`而不是`innerText`和`textContent`,因为`innerHTML`与所有浏览器兼容.
另外,`document.getElementById("content").innerText ="粗体文本?";`对于`document.getElementById("content")的行为方式有所不同,有时甚至非常有用.innerHTML ="粗体文字?";`
**警告!**如果值来自不受信任的输入,则使用`innerHTML`很容易导致XSS漏洞。出于安全原因,始终建议使用“ innerText”,并且目前所有浏览器都支持使用“ innerText”(https://caniuse.com/#feat=innertext)

2> 小智..:
$('#content').html('whatever');



3> 小智..:

获取div要更改其内容的ID,然后分配如下文本:

  var myDiv = document.getElementById("divId");
  myDiv.innerHTML = "Content To Show";


欢迎来到Stackoverflow!在答案中编写代码时提供一些解释远比代码更有帮助.

4> Kamil Kiełcz..:

你可以使用以下辅助函数:

function content(divSelector, value) {
    document.querySelector(divSelector).innerHTML = value;
}

content('#content',"whatever");

哪里#content必须是有效的CSS选择器

这是一个有效的例子.


Additionaly - 今天(2018.07.01)我对jquery和纯js解决方案进行了速度比较(MacO High Sierra 10.13.3在Chrome 67.0.3396.99(64位),Safari 11.0.3(13604.5.6),Firefox 59.0.2) (64位)):

document.getElementById("content").innerHTML = "whatever"; // pure JS
$('#content').html('whatever');                            // jQuery

在此输入图像描述

jquery解决方案比纯js解决方案慢:firefox上69%,safari上61%,chrome上56%.纯js最快的浏览器是firefox,每秒操作560M,第二个是safari 426M,最慢的是chrome 122M.

所以获胜者是纯粹的js和firefox(比Chrome快3倍!)

您可以在您的机器上测试它:https://jsperf.com/js-jquery-html-content-change

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有