3

请看这个小提琴:http: //jsfiddle.net/VdZJx/2/

$(function()
{
    var li = $($("#link-item-template").html()).find("a").attr({
        href: "javascript:;"
    }).html("Toggle");

    $("ul").append(li);
});

这是我的一种模板方法,正如我所见,甚至其他一些库也用于存储和生成 html 模板。

如果您使用 jQuery 版本1.9.1,让此演示运行并观察控制台结果,当您尝试从$().html(). 看:

未捕获的错误:语法错误,无法识别的表达式:<li> <input type="checkbox" /> <a></a> </li>

我该怎么做才能让它再次工作?

4

1 回答 1

1

由于您并没有真正获得正确的元素,而是将脚本标记的内容作为字符串(恰好是 HTML),因此大量空格和换行符被添加到 HTML 字符串中,您需要对其进行修剪以使其工作一个有效的选择器:

$($.trim($("#link-item-template").html()))

小提琴

于 2013-04-04T12:45:02.963 回答