0

希望有人可以帮助我解决这个问题。我需要创建一个可以在 Json 中存储项目的脚本,然后在单击时在页面上有链接显示它所指的 json 对象。我试图用 if else if 语句来做到这一点,但它不起作用。我有点失落。这是我到目前为止完成的代码。它也不喜欢else if bit。

$(document).ready(function(){

    var obj1 = {"user":"Shane", "age":28, "country": "Ireland"};
    var obj2 = {"user":"Louise", "age":26, "country": "Ireland"};
    var obj3 = {"user":"Jess", "age":28, "country": "Ireland"};
    var obj4 = {u1:obj1, u2:obj2, u3:obj3};

    $("a").click(function(e)
    {
        e.preventDefault();
        if ($(this).hasClass("first"))
        {
            alert(obj1.user + " " + "was clicked");
        };
        else if ($(this).hasClass("second"))
        {
            alert(obj2.user + " " + "was clicked");
        };
    });

});

在html中我只有

<body>

<a class="first" href="#">Product1</a><br>
<a class="second" href="#">Product2</a>

<p></p>


<script src="jquery.js"></script>
<script src="script.js"></script>
</body>
4

2 回答 2

3

删除块后的分号。分号表示 a 的结尾statement,而不是 a 的结尾block

if ($(this).hasClass("first"))
{
    alert(obj1.user + " " + "was clicked");
}
else if ($(this).hasClass("second"))
{
    alert(obj2.user + " " + "was clicked");
}
于 2013-05-07T13:50:23.710 回答
1

块末尾的语法错误if,删除;之前else

$("a").click(function(e){
    e.preventDefault();
    if ($(this).hasClass("first")){
        alert(obj1.user + " " + "was clicked");
    } else if ($(this).hasClass("second")){
        alert(obj2.user + " " + "was clicked");
    };
});

演示:小提琴

于 2013-05-07T13:50:31.573 回答