Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Signal更新几个div?_Javascript_Jquery_Html_Signalr - Fatal编程技术网

Javascript 如何使用Signal更新几个div?

Javascript 如何使用Signal更新几个div?,javascript,jquery,html,signalr,Javascript,Jquery,Html,Signalr,我曾经有一个表,其中包含不同的可识别行,这些行使用信号器进行更新,如下所示: $(document).ready(function () { //Enable logging $.connection.hub.logging = true; // Proxy created on the fly var messageHub = $.connection.messageHub; messageHub.client.timeEnabled = true;

我曾经有一个表,其中包含不同的可识别行,这些行使用信号器进行更新,如下所示:

$(document).ready(function () {
    //Enable logging
    $.connection.hub.logging = true;

    // Proxy created on the fly
    var messageHub = $.connection.messageHub;
    messageHub.client.timeEnabled = true;

    // ... Removed main part of the body ...

$.connection.hub.start(function () {
        var table = document.getElementById("monitorList");
        for (var i = 0, row; row = table.rows[i]; i++) {
            var item = document.getElementById("conveyanceId-" + i).innerHTML;
            messageHub.server.joinGroup(item);
        }
})
现在,结构发生了变化,我不再使用表,而是使用div,其中每个容器都有一个唯一的id:
container-@unit.UnitId

<div class="container">
    <div class="row">
        <div class="col-md-12">
            @for (int i = 0; i < @Model.UnitDetails.Count; i++)
            {
                var unit = Model.UnitDetails[i];
                <div class="panel panel-inverse sl-unit-overview" id="container-@unit.UnitId">
                    <div class="panel-heading">
                        <!-- Heading content -->
                    </div>
                    <div class="panel-body">
                        <!-- Body content -->
                    </div>
                </div>
            }
        </div>
    </div>
</div>

@对于(int i=0;i<@Model.UnitDetails.Count;i++)
{
var单位=模型。单位详细信息[i];
}
我的问题,我想更像是两个问题: 1.如何更改javascript以查找每个容器,就像我对表所做的那样?
2.我目前的做法正确吗?(感觉有点不确定)

您可以使用
getElementsByClassName
,它返回一个包含该类dom中所有项的数组,然后您可以迭代该类。当然,您需要向想要选择的div添加一个类(
class:“name”

请参见此处的示例:

至于2,我认为您做得很好,但如果可能的话,我建议您使用JQuery(有些原生js不适用于所有浏览器)。请参阅:

解决了它:)

$.connection.hub.start(function () {
        $("#unitList > div[id]").each(function() {
            var unitId = this.id;
            messageHub.server.joinGroup(unitId);
        });
}).done(function () { console.log('Now connected, connection ID=' + $.connection.hub.id); })
    .fail(function () { console.log('Could not Connect'); });