具有相同id的多个div中的Ajax json值

时间:2018-01-17 06:54:02

标签: javascript php jquery json ajax

我有一个ajax请求,从php页面获取json值,如

{"Inboxunreadmessage":4}

这是我的ajax JS

$(window).load(function(){
    $.ajax({
        dataType: "json",
        type: "POST",
        url: "/mail/mail-action",
        data: {
            _act: "load"
        }
    }).done(function(data) {
        if(data.message){
            showMessage(data);
        }
        $('#Inboxunreadmessage').html(data.Inboxunreadmessage);
    }).error(function(jqxhr, exception){
        ajaxErrorHandler(jqxhr, exception);
    });
});

它工作正常,但当我使用div id

<span id="Inboxunreadmessage"></span>
<span id="Inboxunreadmessage"></span>
<span id="Inboxunreadmessage"></span>

仅在一个div中显示值(在First Div中)

1 个答案:

答案 0 :(得分:4)

根据W3C规范,拥有2个具有相同ID的元素无效。

所以id只能在页面的第一个位置工作一次

如果你想在所有div中追加值,那么将id更改为class

<span class="Inboxunreadmessage"></span>
<span class="Inboxunreadmessage"></span>
<span class="Inboxunreadmessage"></span>


$(window).load(function(){
    $.ajax({
        dataType: "json",
        type: "POST",
        url: "/mail/mail-action",
        data: {
            _act: "load"
        }
    }).done(function(data) {
        if(data.message){
            showMessage(data);
        }
        $('.Inboxunreadmessage').html(data.Inboxunreadmessage);
    }).error(function(jqxhr, exception){
        ajaxErrorHandler(jqxhr, exception);
    });
});