Jquery Angularjs:在缓存模板中按ID查找元素
我有几个HTML文件,我需要提取这些HTML文件中给定元素的文本内容,并将其作为变量放入angular中 我决定使用$templateRequest获取每个HTML文件,并使用$templateCache将它们存储在缓存中。我希望通过这种方式,我可以使用angular或jQuery/jQueryLite选择器来访问这些缓存模板,并通过元素ID获取特定的元素内容。但当涉及到从给定缓存模板检索给定元素文本时,我遇到了麻烦Jquery Angularjs:在缓存模板中按ID查找元素,jquery,angularjs,jqlite,angular-templatecache,Jquery,Angularjs,Jqlite,Angular Templatecache,我有几个HTML文件,我需要提取这些HTML文件中给定元素的文本内容,并将其作为变量放入angular中 我决定使用$templateRequest获取每个HTML文件,并使用$templateCache将它们存储在缓存中。我希望通过这种方式,我可以使用angular或jQuery/jQueryLite选择器来访问这些缓存模板,并通过元素ID获取特定的元素内容。但当涉及到从给定缓存模板检索给定元素文本时,我遇到了麻烦 $templateRequest(htmlFileUrl.html).then
$templateRequest(htmlFileUrl.html).then(function(htmlFile) {
$templateCache.put(htmlFileName, htmlFile);
var template = $templateCache.get(name);
var elementId = '#some_id'; //element present in htmlFileUrl.html
var elementText;
// Assign text value of elementId to elementText SOMEHOW
console.log(elementText) // Should print text of elementId
});
假设您在angularjs中使用jQuery,只需将模板内容传递给它,这不会影响您的DOM,并执行通常使用jQuery进行的查找:
var template = $( $templateCache.get(name) );
var elementId = '#some_id';
var elementText = template.find(elementId).text();
console.log(elementText);
嘿,不幸的是它没用。也许如果你能在plunker上设置它,那么也许我可以看到我的错误。最好换一种方式来做-你设置它,我们可以进入并尝试修复它: