得到无法识别的表达

时间:2013-09-24 07:56:05

标签: javascript php jquery ajax wordpress

我希望使用jQuery mobile和JSON API将我的wordpress博客文章显示为列表但是当我执行该程序时,我得到:

  

错误:语法错误,无法识别的表达式:div class =“entry”> undefined   ...){var t = e.nodeName.toLowerCase();返回“输入”=== t&&“button”=== e.type ||“button”= ...

这是我的代码:

的index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">

    <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
    Remove this if you use the .htaccess -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

    <script src="css/style.css"></script>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
    <script src="js/script.js"></script>
</head>
<body>

    <div id="blog" data-role="page">
    <div data-role="header" class="sys_hd" data-position="fixed" data-id="sys_header" >
        <h1>Sysads Posts</h1>
        </div><!-- header -->
        <div data-theme="c" data-role="content" id="postlist"> </div><!-- content -->
        <div data-role="footer" data-position="fixed" data-id="sys_footer" >
                    <div data-role="navbar" >
                <ul>
                    <li><a href="#blog" class="sys_ft">Home</a></li>
                    <li><a href="#blog" class="sys_ft">Disclaimer</a></li>
                </ul>
            </div><!-- navbar --> 
        </div><!-- footer --> 
    </div><!-- page -->
</body>
</html>

的script.js:

/**
 * @author Admin
 */
$(document).ready((function(){
     url = 'http://hopexxx.com/category/daily-devotion/feed/';
        $.ajax({
        type: "GET",
        url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=1000&callback=?&q=' + encodeURIComponent(url),
        dataType: 'json',
        error: function(){
            alert('Unable to load feed, Incorrect path or invalid feed');
        },
        success: function(xml){
            postlist = xml.responseData.feed.entries;
            console.log(postlist);
            $.each(postlist, function(data) {
                $('#postlist').append($('div class="entry">' + data.title + '</div>'));
            });
        }
    });
}));

1 个答案:

答案 0 :(得分:0)

代码$('div class="entry">' + data.title + '</div>')是jQuery expresion,它试图找到与expresion匹配的元素,但是从你试图添加html的上下文中,而不是元素:

$.each(postlist, function(idx, data) {
    $('#postlist').append('<div class="entry">' + data.title + '</div>');
});

是的,正如Damien所写,html也被打破了。