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'); });