我做了一些搜索,我认为这应该有效,但我想我错了。我在一个函数中使用Ajax Manager。
我的Js:
function makeGetRequest2(wordId,docId) {
var ajaxManager = $.manageAjax.create('cacheQueue', { queue: true, cacheResponse: true });
//and add an ajaxrequest with the returned object
ajaxManager.add({ success: function(html) {
$('span[id="' + docId + '"]').text(' - Downloaded ' + html + ' time(s)');
}, url: '/knb/GoogleAnalytic?docId=' + wordId
});
}
我的HTML是由XSL生成的。它迭代几个记录,将其列在表中。翻译过来,html看起来像1个记录的片段:
"... Download File <img alt="download" border="0" style="margin:0px 0px; padding:0px;" src="page_white_put.png">
<script type="text/javascript">makeGetRequest2(escape('Title 2'),'book-3'); </script>
<span id="book-3"></span>.. "
想法是进行ajax调用并在span标记内打印出结果。 span id是可变的(从1开始 - 但是有很多记录)并且它被传递给makeGetRequest2函数。
ajax是成功的,如果我尝试使用没有变量的选择器,即$('span [id =“book-3”]')。text()它可以工作。但由于某种原因,我没有用“+ docId +”找到它。我已检查参数是否具有正确的值。
答案 0 :(得分:4)
而不是:
$('span[id="' + docId + '"]')
你应该使用:
$('span#' + docId)