替换document.write但具有追加功能

时间:2014-03-02 22:14:56

标签: javascript jquery

我现在想要在JavaScript上有类似document.write()的函数,但是它不是替换元素而是追加它们,因为我构建了一个用代码替换用户输入的函数,它可以工作,但问题是代替添加代码具体的地方,但他取代了所有页面内容。

我的功能代码。

function one(json) {
        var j = 0;
        var img = new Array();
        var maxpost=json.feed.entry.length;
        for (var i = 0; i < numposts1; i++) {
            var entry = json.feed.entry[i];
            var posttitle = entry.title.$t;
            var pcm;
            var posturl;
            var postAuthor = entry.author[0].name.$t;
            var postLabels = entry.category[1].term;

if ((i>0)&&(i<maxpost)) {
var trtd = '<a href="'+posturl+'">'+posttitle+'</a><h2>'+posttitle+'</h2>     <span>'+postAuthor+'</span><span>'+postLabels+'</span><div>'+img[i]+'</div>'; 
document.write(trtd);
}
            j++;
        }
    }

这是代码的第二部分

$(document).ready(function(){
  $('.widget-content').each(function(){
var b = $(this).html();
    var a = b.match(/[^[\]]+(?=])/g);
var code = $('#myscript').attr('src');
    var script= document.createElement('script');
    script.type='text/javascript';
    script.src=code;
$('.HTML').append("<script id='myscript' src='/feeds/posts/default/-/Break?published&amp;alt=json-in-script&amp;callback=one'><\/script>");

  });
});

Live demo for the problem

1 个答案:

答案 0 :(得分:0)

在原始javascript中,您可以使用元素的innerHTML属性,例如:

var stringToAppend = "<script id='myscript' src='/feeds/posts/default/-/Break?published&amp;alt=json-in-script&amp;callback=one'><\/script>";
document.getElemetsByClassName('HTML')[0].innerHTML += stringToAppend;

请注意,我使用+=运算符将追加字符串添加到现有内容中。

a += b相当于a = a + b


如果您对 jQuery 持开放态度,只想将内容附加到页面末尾,请调用append选择器上的body方法:

$('body').append('<a href="'+posturl+'">'+posttitle+'</a><h2>'+posttitle+'</h2>     <span>'+postAuthor+'</span><span>'+postLabels+'</span><div>'+img[i]+'</div>');