当前位置: 首页 > 面试题库 >

使用JavaScript插入HTML元素

南宫阳焱
2023-03-14
问题内容

使用以下语法时,不必为每种类型的属性和事件繁琐地搜索解决方法:

elem = document.createElement("div");
elem.id = 'myID';
elem.innerHTML = ' my Text '
document.body.insertBefore(elem,document.body.childNodes[0]);

有没有一种方法可以将整个HTML元素声明为字符串?喜欢:

elem = document.createElement("<div id='myID'> my Text </div>");
document.body.insertBefore(elem,document.body.childNodes[0]);

问题答案:

innerHTML 创建片段然后插入该片段可能会更好,而不是直接弄乱它:

function create(htmlStr) {
    var frag = document.createDocumentFragment(),
        temp = document.createElement('div');
    temp.innerHTML = htmlStr;
    while (temp.firstChild) {
        frag.appendChild(temp.firstChild);
    }
    return frag;
}

var fragment = create('<div>Hello!</div><p>...</p>');
// You can use native DOM methods to insert the fragment:
document.body.insertBefore(fragment, document.body.childNodes[0]);

好处:

  1. 您可以使用本机DOM方法进行插入,例如insertBefore,appendChild等。
  2. 您可以在插入实际的DOM节点之前对其进行访问;您可以访问片段的childNodes对象。
  3. 使用文档片段非常快捷;比在DOM之外创建元素要快,并且在某些情况下要比innerHTML快。

即使 innerHTML 在函数中使用它,它们都发生在DOM之外,因此它比您想象的要快得多。



 类似资料:
  • 问题内容: 我当前正在加载灯箱样式弹出窗口,该弹出窗口将从XHR调用中加载HTML。然后,使用“ 这就像一个超级按钮”在“模式”弹出窗口中显示此内容。 在该网站的另一部分中,我使用Flickr’徽章’(http://www.elliotswan.com/2006/08/06/custom-flickr- badge-api-documentation/ )动态加载flickr图像。这是通过包含一个

  • 我想用字符串替换元素和“randmsg”。下面是我现在掌握的: 有什么想法吗?我是一个JavaScript傻瓜,我做错了什么?

  • 问题内容: 我是一个新手。有人可以告诉我如何使用原始Javascript(而不是jQuery)删除HTML元素。 当我单击“提交”按钮时,会在很短的时间内消失然后立即出现。单击按钮时,我想完全删除该元素。 问题答案: 发生的情况是正在提交表单,因此页面(带有其原始内容)正在刷新。您正在通过“提交”按钮处理事件。 如果要删除元素 而不 提交表单,请改为处理表单上的事件,然后从处理程序中返回: HTM

  • 我正在学习JavaScript,我正在尝试创建一个“圆计算器”,它将通过一个表单接收用户输入,并返回圆的面积和周长。除了在ID为“circledata”的段落中显示结果外,它都正常工作。它会在提交表单后显示几秒钟,然后消失。 我希望循环方法的结果(变量“text”)保留在段落中,直到用户再次提交表单(当它应该用新数据填充时)。

  • 问题内容: 我可以创建一个空的iframe作为占位符,以便以后将html插入其中吗? 换句话说,假设我有一个ID为空的iframe, 如何在其中插入html? 我正在使用jquery,如果这样做更容易。 问题答案: 您也可以不用jQuery而做到: jQuery的html从插入的HTML中剥离body,html和head标签。

  • 问题内容: 我目前正在开发一个网站,我需要根据用户执行的操作来动态加载页面。 示例:如果用户单击“设置”按钮,则ajax函数将从外部页面加载该代码,并将其放入带有标签“设置”的div中。 这是我用来发出Ajax请求的代码: 这是第一个代码片段将ajax结果放入的位置: 该代码是从此处的函数调用的: 这是ajax函数将放入div 的html : 我想知道是否有一种方法也可以执行ajax函数返回的ja