APIを使用してクイズを作成しています。アプリ Loopcam から gif をフェッチし、ループ タイトルを div #answer に配置するコードは次のようになります。
APP = {
refresh: function(limit, interval) {
APP.index(limit);
setInterval(function () {APP.index(limit)}, interval)
},
index: function(limit) {
var url = 'https://api.loopc.am/v1/loops/search?q=moviecharades'
$.ajax({
url: url,
dataType: "json",
success: function(data) {
var data = data
, html
, templatedata
, template = '{{#loops}}<div id="answer">{{title}}</div><div class="loop-tumbnail"><img src="{{file_url}}" {{loop_url}}/></div>{{/loops}}'
, offset = Math.round(Math.random() * (data.length - 1))
TITLE = data[0].title
console.log(offset)
if (data.length > 0) {
data = data.slice(offset, offset + limit);
templatedata = {loops: data}
html = Mustache.to_html(template, templatedata)
$('#loops').html(html)
}
}
})
私が必要としているのは、「#moviecharades」という単語を div #answer から削除することです。これは、API からフェッチされるタイトルに常に含まれています。要するに: 取得されたタイトルが「#moviecharades 大きな魚」である場合、#answer-div で「大きな魚」とだけ言うようにします。
#answer-div のルールとして、次のように配置しようとしました。
$("#answer").text($("#answer").text().replace("#moviecharades", ""));
しかし、うまくいきません...