Javascript 在变量而不是临时DOM中追加元素

Javascript 在变量而不是临时DOM中追加元素,javascript,jquery,Javascript,Jquery,可以在变量中创建类似“DOM”的东西吗?现在我正在创建一个临时div容器,以便将结果附加到正确的元素。之后,我移除临时容器 但这真的有必要吗 首先,我解析一个HTML字符串。之后,我创建一个节框(如果内容与关键字数组匹配),并在该节框中放置一些内容。这就是代码的工作原理 var elements = $.parseHTML(input_string); var keywords = ['keyword1', 'keyword2']; var existing = 0; $("body").ap

可以在变量中创建类似“DOM”的东西吗?现在我正在创建一个临时div容器,以便将结果附加到正确的元素。之后,我移除临时容器

但这真的有必要吗

首先,我解析一个HTML字符串。之后,我创建一个节框(如果内容与关键字数组匹配),并在该节框中放置一些内容。这就是代码的工作原理

var elements = $.parseHTML(input_string);
var keywords = ['keyword1', 'keyword2'];
var existing = 0;

$("body").append('<div id="temp"></div>'); // <--

$.each(elements, function(index, element) { 
var z = element.innerHTML.trim();

    if ( $.inArray(z, keywords) !== -1) {
        $("#temp").append( '<section class="box"><h1>'+z+'</h1></section>' );
        existing = 1;
    }
    else {
        (existing) ? $("#temp .box:last").append( '<p>'+z+'</p>' ) : $("#temp").append( '<p>'+z+'</p>' );
    }

});

var result = $("#temp").html();
$("#temp").remove(); // <--
var元素=$.parseHTML(输入字符串);
var关键字=['keyword1','keyword2'];
var=0;
$(“正文”)。附加(“”);// 你可以

var elements = $.parseHTML(input_string);
var keywords = ['keyword1', 'keyword2'];
var existing = 0;

//create an element but do not append to dom
var $temp = $('<div id="temp"></div>');

$.each(elements, function (index, element) {
    var z = element.innerHTML.trim();

    if ($.inArray(z, keywords) !== -1) {
        //use the temp variable instead of dom lookup to access the temp object
        $temp.append('<section class="box"><h1>' + z + '</h1></section>');
        existing = 1;
    } else {
        (existing) ? $temp.find(".box:last").append('<p>' + z + '</p>') : $temp.append('<p>' + z + '</p>');
    }

});

var result = $temp.html();
var元素=$.parseHTML(输入字符串);
var关键字=['keyword1','keyword2'];
var=0;
//创建一个元素,但不要附加到dom
变量$temp=$('');
$.each(元素、函数(索引、元素){
var z=element.innerHTML.trim();
if($.inArray(z,关键字)!=-1){
//使用temp变量而不是dom查找来访问temp对象
$temp.append(“”+z+“”);
现有=1;
}否则{
(现有)?$temp.find(“.box:last”).append(“”+z+”

”):$temp.append(“”+z+”

”); } }); var result=$temp.html();
但如果可以的话,我建议使用普通字符串连接,因为什么会更快