【问题标题】:jQuery .template and .tmpl not working correctlyjQuery .template 和 .tmpl 无法正常工作
【发布时间】:2012-06-15 18:29:00
【问题描述】:

好的,所以基本上我想在帖子底部添加一行代码:

<p id="audioembed">Click here to <a href="http://www.site.com/mp3file.mp3"> download MP3</a></p>

然后在页面底部,我有脚本检查用户是否在 iPhone、iPad 或 iPod 上查看,然后拉取 mp3 URL,清除元素,然后添加基本的 HTML5 音频播放器:

<script>
jQuery(document).ready(function($) {
if(navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPod')
{
var audioElement = $('#audioembed'), href = audioElement.children('a').attr('href');
$.template("audioTemplate", "<audio src='${src}' controls>")
audioElement.empty();
$.tmpl("audioTemplate", {src: href}).appendTo(audioElement);
};
});
</script>

但由于某种原因,它根本不起作用。我知道 iDevice 检查正在工作(如果我用 CSS 颜色更改之类的基本内容替换模板行,它工作得很好)所以我必须把模板弄乱了。非常感谢您对这个问题的任何启发。

【问题讨论】:

  • 这个"&lt;audio src="${src}" controls&gt;" 不是有效的javascript。将其更改为"&lt;audio src='${src}' controls&gt;"
  • 谢谢,这只是我发布问题时的拼写错误。我在页面上正确。
  • 什么都没有?我一直在寻找有关使用模板的资源,我的代码在技术上似乎应该可以工作,但由于某种原因它根本不是。如果我的代码是正确的(我希望这里有人可以确认或反驳),那么我想这可能是其他地方的冲突?希望有人可以为我阐明这一点。谢谢。
  • 抱歉,我只使用了jqoteunderscore 模板。
  • .tmpl 很久以前就从 jQuery 中删除了。见stackoverflow.com/questions/7911732/…

标签: jquery templates jquery-templates


【解决方案1】:

我认为您的模板仍然必须使用有效的 javascript 字符串文字:

$.template("audioTemplate", "<audio src='${src}' controls>");

【讨论】:

  • 或者更确切地说(澄清)您在回复中的书写方式是它在网站上的书写方式。我发布问题时在这里打错了。
【解决方案2】:

好吧,我不知道为什么模板函数不起作用,所以现在我只是简单地使用一个基本的附加来拉取 URL,如下所示:

<script>
jQuery(document).ready(function($) {
(navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPod')
{
var audioElement = $('#audioembed'), href = audioElement.children('a').attr('href');
audioElement.empty();
audioElement.append('<audio src="'+href+'"controls>');
};
});
</script>

现在必须这样做。我仍然想知道是否有人弄清楚为什么原来的计划不起作用。谢谢!

【讨论】:

    猜你喜欢
    • 2015-11-13
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 2015-12-14
    • 2015-11-13
    相关资源
    最近更新 更多