[英]Why does my jQuery templating approach not work in jQuery 1.9.1 anymore?
請看這個小提琴: http : //jsfiddle.net/VdZJx/2/
$(function()
{
var li = $($("#link-item-template").html()).find("a").attr({
href: "javascript:;"
}).html("Toggle");
$("ul").append(li);
});
這是一個模板化的方法我,正如我所見,甚至一些其他的lib用於存儲和生成html模板。
如果您使用jQuery版本1.9.1,讓這個演示運行並觀察控制台,當您嘗試從$().html()
生成新的jQuery對象時, Sizzle會拋出以下錯誤。 看到:
未捕獲錯誤:語法錯誤,無法識別的表達式:<li> <input type =“checkbox”/> <a> </a> </ li>
我該怎么辦才能讓它再次發揮作用?
由於您沒有真正獲得正確的元素,但腳本標記的內容為字符串(恰好是HTML),HTML字符串中添加了大量的空格和換行符,您需要對其進行修剪以使其工作為有效的選擇器:
$($.trim($("#link-item-template").html()))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.