我建议你根据这个转换你的标记:
<div "data-jtemplate"="href-x"></div>
<span "data-jtemplate"="text-y"></span>
<input "data-jtemplate"="something-z" />
<table "data-jtemplate"="else-v"></table>
现在你可以做一个非常简单的搜索:
var jTemplate = $("*[data-jtemplate]") // selects all elements with that prefix
$("*[data-jtemplate^='href-']", jTemplate) // select all elements with href in jTemplate scope
$("*[data-jtemplate^='text-']").each( function(i, ele)
{
var attr = $(this).attr("data-jtemplate").replace("text-",""); // gives you actual value of the attribute
});
更新:
<div 'data-jtemplate'='{href:"http://example.com",text:"example",attr:10,private:false}'></div>
// {href:"http://example.com",text:"example",attr:10,private:false} -> easy to create on the server
var json = $("[data-jtemplate]").eq(0).attr("data-jtemplate");
var parsedData = $.parseJSON(json);
var href = parsedData.href; // etc -- easy to access