JQuery将Span Id传递给选择器而不是查找元素

时间:2011-05-16 04:00:25

标签: jquery ajax selector html

我做了一些搜索,我认为这应该有效,但我想我错了。我在一个函数中使用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 +”找到它。我已检查参数是否具有正确的值。

1 个答案:

答案 0 :(得分:4)

而不是:

$('span[id="' + docId + '"]')

你应该使用:

$('span#' + docId)