将内容附加到元素动态而不更改引入它的事件

时间:2014-10-23 12:53:23

标签: jquery

我们正在使用JSON文件作为我们网站上某些描述文本的数据源。我想要追加描述的元素只有在某个事件被触发时才会被创建(我不知道事件的名称)

这是我目前的代码:

jQuery('.preview-text').append('<p style="font-size: 20px;">' + text + '</p>');

将来创建的元素显然是.preview-text。由于文档加载时不存在,因此在创建文档时不会将所需文本附加到文档中。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果您不知道/无法访问将.preview-text带入DOM的事件,则必须定期检查该元素。您可以使用setInterval

这将检查$('.preview-text')的长度,如果它是真实的,该元素存在于页面上,它将继续附加你的段落并清除间隔。

var checkInterval = setInterval(function(){
    var $previewText = $('.preview-text');
    if($previewText.length){
        $previewText.append('<p style="font-size: 20px;">' + text + '</p>');
        clearInterval(checkInterval);
    }
}, 1000);

JSFiddle