0

我的标题中有运行 jQuery 库的代码行

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

我的 javascript 文件向 Web 服务发送 ajax 请求。Web 服务将输出一个随机报价。javascript 文件获取输出并将其显示在 id='quote' 的 div 中。我检查了 web 服务的 php 文件,它工作正常并打印了一个随机报价。但我不断收到下面的错误与 jQuery 的行

未捕获的语法错误:意外的令牌(

这是我的 javascript 文件中的代码。我也使用了原型,这就是我写“jQuery”而不是“$”的原因

function displayQuote(ajax){
    var quote = ajax.responseText;

    $("quote").hide();
    $("quote").innerHTML = quote;
    jQuery.("#quote").fadeIn(1000);
}

谢谢

4

4 回答 4

2
function displayQuote(ajax){
    var quote = ajax.responseText;
    // here i added the # (hashtag) to your selector
    // when referencing an ID you need to use the hashtag '#'
    // when referencing a class you need to the a dot '.'
    $("#quote").hide();
    $("#quote").innerHTML = quote;
    // also write here you were placing a '.' after the jQuery function.
    // since this is the first function in the chain, 
    // you cannot put a period after it
    jQuery("#quote").fadeIn(1000);
 }

#您在引用<element id ="quote">;时忘记添加井号标签

这是上述相同内容的另一个版本: 编辑:正如搅拌机所指出的,我们不能在相同的上下文中使用document.getElementById('')和。fadeIn()所以要解决这个问题,我们可以只使用 .html 引用 HTML 元素jQuery()

function displayQuote(ajax) {
           var quote = ajax.responseText;
           var quoteElement = document.getElementById('quote');
           quoteElement.style.display='none';
           quoteElement.innerHTML = quote;
           jQuery(quoteElement).fadeIn(1000);
 }
于 2012-12-24T08:41:29.320 回答
1

你有一个错误的时期:

jQuery.("#quote").fadeIn(1000);
      ^

而且您的选择器不正确:

$("quote") // This finds a `<quote>` tag. You want `#quote`.

此外,使用.html()代替innerHTML

function displayQuote(ajax){
    var quote = ajax.responseText;

    jQuery("#quote").hide().html(quote).fadeIn(1000);
}

由于您使用的是 Prototype,因此请查看jQuery.noConflict().

于 2012-12-24T08:43:27.033 回答
0

我认为代码应该是:

quote.hide();
quote.innerHTML = quote;
quote.fadeIn(1000);

因为你已经有一个 jQuery 变量quote

于 2012-12-24T08:40:01.717 回答
0

我认为你必须使用它

function displayQuote(ajax){
    var quote = ajax.responseText;

    $("quote").hide();
    $("quote").innerHTML = quote;
    $("#quote").fadeIn(1000);
}
于 2012-12-24T08:43:16.093 回答