从另一个操作中获取html代码,并通过javascript操作代码
Getting html code from another action and manipulate the code throught javascript
我有一个cshtml视图文件,其中包含以下代码:
<ul id="ul1">
<li id="ul1li1"></li>
<li id="ul1li2"></li>
<li id="ul1li3"></li>
</ul>
还有一个操作"x",它向我返回html代码,其中有几个div。类似于:
<div class="xdiv"></div>
<div class="xdiv"></div>
<div class="xdiv"></div>
<div class="xdiv"></div>
<div class="xdiv"></div>
我想使用javascript函数,以循环升序将我从操作"X"中获得的div放入lis中。我找不到合适的解决方案,到目前为止,我的javascript函数是这样的:
function fillLis()
{
var i = 0;
divs = @Url.Action("X");
for(ind in divs){
div = divs[ind];
i = i%3 + 1;
var currentli = document.getElementById('ul1li'+i);
currentli.innterHTML += div.innerHTML;
}
};
由于一些糟糕的html编码,我不得不这样做。
这不是你想的那样:
divs = @Url.Action("X");
它只会解析为一个字符串(和一个语法错误),例如:
divs = /Home/X;
您想要做的是对该操作发出AJAX请求。(注意:由于您使用的是ASP.NET,我假设jQuery是一个选项。)类似于以下内容:
$.get('@Url.Action("X")', function (data) {
// update your UI
});
在该回调函数中,data
将包含来自服务器的响应。在这种情况下,应该是HTML。在这一点上,看起来您想要在div
元素上循环。因此,您可能可以将它包装在一个jQuery对象中,并在其上循环。类似这样的东西:
$.get('@Url.Action("X")', function (data) {
var divs = $('div', data);
// at this point "divs" is a list of div HTML elements in the response
});
您的现有代码应该在divs
阵列上工作,也许需要通过调试进行一些小的调整。但本质上,这就是您从服务器获取所需HTML元素的方式,以便在客户端代码中使用这些元素。
类似的东西?
Array.prototype.forEach.call(@Url.Action("X"), function(xdiv, i) {
document.getElementById("ul1li"+i).appendChild(xdiv);
});
如果没有,请更新你的问题,更详细的信息,你正在尝试做什么。
关于您的代码的一些快速注释:
function fillLis()
{
var i = 0;
divs = @Url.Action("X");
for(ind in divs){
div = divs[ind];
// This will always be equal to 1
i = i%3 + 1;
// You say you want to "put the divs [...] into the list", but it seems like you're trying to transfer only the content of your divs
var currentli = document.getElementById('ul1li'+i);
currentli.innterHTML += div.innerHTML;
}
};
相关文章:
- 如何运行在加载时操作 iframe 内容的代码
- 如何从按钮后面的代码中调用javascript函数,点击并存储其输出,然后继续操作
- 我如何找到“;操作's”;代码中的位置'回调函数不支持此操作'
- 我应该如何在提交操作之前插入jQuery代码
- 编译角度代码以便能够执行内部html操作
- Javascript Analytics代码操作(G.Analytics)
- 如何加载外部HTML内容以由此JS代码操作
- 代码点火器通过单击按钮更改表单操作
- 如何添加将通过执行 JavaScript 代码重定向到另一个页面的动态操作
- DOM 树操作 (document.createElement) 代码重用
- 由代码操作输入时不触发主干视图更改事件
- 将 html 代码转换为操作脚本代码
- 电话间隙代码:2 消息:无法完成操作.(kCLErrorDomain error 0.)
- 点击操作不适用于 Google 地图中的以下代码
- 在 DOM 上以“向上”和“向下”方向操作时如何避免重复代码
- 使用 jQuery 操作 DOM 时,代码不同步
- 如何在没有大量代码的情况下操作单个输入字段值
- 代码重构.对类的所有实例进行操作的方法
- 从另一个操作中获取html代码,并通过javascript操作代码
- 在javascript聊天机器人中实现回发操作代码的位置