我正在计算我的用户指定和动态显示的div ...
我的情况:
<div class="grid-stack" data-bind="foreach: {data: widgets, afterRender: afterAddWidget}">
<div id="streamcontainer1" class="streamcontainer grid-stack-item" data-bind="attr: {'data-gs-x': $data.x, 'data-gs-y': $data.y, 'data-gs-width': $data.width, 'data-gs-height': $data.height, 'data-gs-auto-position': $data.auto_position}">
</div>
</div>
在PHP中,我可以简单地在html中编写我的COUNT变量。这看起来像这样:
<div id="streamcontainer<?php echo $count ?>" class="" ... and so on...>
如何使用JS / Jquery存档相同的内容?
答案 0 :(得分:2)
这是一个DOM操作问题。我们有什么需要合作?我们正在向页面添加div,他们有一个特定的类,我们想给他们一个ID。
function assignIds(){
var list = document.getElementsByClassName('streamcontainer');
for(var i=0; i<list.length;i++){
if(list[i].id == undefined) // skip the ones that have already been done.
list[i].id = 'streamContainer' + i.toString();
}
}
现在我们只需要在某个事件上运行该函数,这样它就会不断更新。如果你只是希望在一段时间内完成,那是最简单的。 (setInterval
)但是这可能会给你一个错误,那里还有一小段时间尚未分配该ID。您可以尝试监听任何AJAX / websocket进程将这些内容流式传输到页面上。
我们需要更多地了解您的用例,以了解要将其附加到哪个事件。
答案 1 :(得分:0)
如果没有Javascript Reactive Framework(Vue.js,React,AngularJS),您就无法做到这一点。 你可以用JS做的是在加载DOM时在元素中设置内容,例如:
document.getElementById("myElement").textContent = "Hello World!";
或者
document.getElementById("myElement").innerHTML = "<span>Hello World!</span>";
OBS: .innerHTML 可以插入HTML标记, .textContent 只需插入文字。
答案 2 :(得分:0)
您可以使用knockoutjs中的text
绑定来显示HTML中的javascript值。有很多ko绑定可以帮助你。更多参考here
var viewModel = {
javascriptVariable: "I am javascript string"
};
ko.applyBindings(viewModel);
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<span data-bind="text: javascriptVariable"></span>
&#13;