改进jQuery代码

时间:2014-02-02 13:44:46

标签: jquery html

我有这个函数来调用组件到我的主容器

这是我的HTML

<div id="container">
    <div id="photos">
    </div>
</div>

我的js文件

$(document).on("ready", call_data);

function call_data(){
    var snippet = "<div class='image'><div class='image-body'><img src='img/59.jpg' height='320px' ></div><div class='image-title'><i class='fa fa-map-marker'></i> Silvania, Colombia <img src='img/png/co.png' alt='colombia'></div><div class='image-author'><div class='author'><i class='fa fa-camera-retro'></i> by Valeria Bayona</div></div></div>"
    $("#photos").append(snippet);
};

我可以这样做:

var snippet = "<div class='image'></div>";
snippet.append("<div class='image-body'>");
...

1 个答案:

答案 0 :(得分:1)

不,为了使用jQuery append函数,您正在使用的对象必须是jQuery对象。您必须执行与call_data函数类似的操作:

var snippet = $( "<div class='image'></div>" );
snippet.append("<div class='image-body'>");

在您的示例中,您要在字符串对象上调用append。字符串对象未实现append方法:

var s = "my string";
s.append( "another string" ); // TypeError: Object my string has no method 'append'