javascript 将HTML作为字符串插入,不使用jQuery

tvmytwxo  于 2023-06-04  发布在  Java
关注(0)|答案(6)|浏览(664)

我正在寻找一个方法来插入一个字符串,其中包含HTML数据,到一个div元素。字符串是通过XHR加载的,没有办法知道其中有哪些元素。
我已经搜索了一下,发现了一些可能有帮助的东西,但对我来说并不完全有效。我需要的是类似于Prototype框架的update()函数:http://prototypejs.org/api/element/update
我写的平台不允许使用框架或JQuery。我被JavaScript卡住了。有人有什么想法吗?
我不能使用innerHTML,因为它不应用任何更新或函数,或者基本上任何应该在加载时发生的事情
我有一些需要发生的onload事件,据我所知,使用innerHTML不会执行onload事件。我说错了吗?
两年后编辑:对于其他阅读的人,我对onload事件有一些严重的误解。我期望它对任何元素都是有效的事件,但它只对<body/>元素有效。.innerHTML是完成我所寻找的任务的正确方法,添加元素的任何额外功能都需要以其他方式手动完成。

368yc8dk

368yc8dk1#

HTMLElement innerHTML Property
innerHTML属性设置或返回元素的内部HTML。

HTMLElementObject.innerHTML=text

示例:http://jsfiddle.net/xs4Yq/

bbuxkriu

bbuxkriu2#

你可以通过两种方式来做到这一点:

var insertText = document.createTextNode(theText);
                 document.getElementById("#myid").appendChild(insertText);

object.innerHTML=text

mqkwyuun

mqkwyuun3#

我正在寻找一个方法来插入一个字符串,其中包含HTML数据,到一个div元素。
您要使用的是innerHTML属性。
使用示例:

<script type="text/javascript">
function changeText(){
    document.getElementById('boldStuff').innerHTML = '<p>Universe</p>';
}
</script>
<p>Hello <b id='boldStuff'>World</b> </p> 
<input type='button' onclick='changeText()' value='Change Text'/>
bcs8qyzn

bcs8qyzn4#

是这样吗?:http://jsfiddle.net/FgwWk/1或者你在添加更多之前已经在div中有东西了吗?

68de4m5k

68de4m5k5#

纯JS。只需用途:printStackTrace();
position =“beforebein”|“afterbegin”|“beforeend”|“后端”

var text = '<a  class="btn btn-blue btn-floating waves-effect">\n' +
            '<i class="fas fa-user"><span class="badge badge-danger"></span></i>\n' +
            '</a>';
var inputPlace = document.getElementById("input-pace");

inputPlace.insertAdjacentHTML("beforeend", text);
xfb7svmp

xfb7svmp6#

appendChildinsertAdjacentHTML相对于insertHTML的一个重要优点是,它们不需要重新解析div元素。
如果div内部已经有其他元素,这很有用,因为,例如,如果这些元素中的任何一个附加了事件,它们将丢失它。因此,他们更快。

相关问题