用另一个页面内容动态填充正确的DIV

Dynamically populate the correct DIV with another page content

本文关键字:填充 DIV 动态 另一个      更新时间:2023-09-26

我的页面上有多个div,在用另一个页面视图填充正确的div时遇到问题。我很感激你的帮助。

我有一个循环,它填充了一个DIV列表。最后解析的HTML看起来是这样的:

<div id="replycontainer:1">
CONTENT1
<button id="to:1" class="reply">REPLY</button>
</div>  
<div id="replycontainer:2">
CONTENT2
<button id="to:2" class="reply">REPLY</button>
</div> 
<div id="replycontainer:3">
CONTENT3
<button id="to:3" class="reply">REPLY</button>
</div>    

现在假设一个用户点击了一个按钮"to:3",现在我需要在"#replycontainer:3"中添加一个"Comment"框。

我认为正确的JavaScript无法工作。它正确地确定了点击的DIV类,但没有将其他页面内容添加到所选的DIV中

可能是什么问题?

Javascript/Jquery我用来检测点击了哪个DIV按钮:

<script type="text/javascript">
$(document).ready(function () {
    $("button.reply").click(loadComment);
});

function loadComment() {
    var id = this.id.split('to:');
    var postId = id[1];
    var containername = "#replycontainer:" + postId;
    $(containername).load("/Post/Comment");  //MVC Action pointer
}
</script> 

提前感谢!

您需要用"''''"每个jQuery选择器API来转义":"。用于分隔类名的错误系统

http://api.jquery.com/category/selectors/

":"用于定义各种选择器,如":input"、":checked"等

这里引用一个div:

var containername = "#replycontainer:" + postId;

但容器实际上是一个类:

<div class="replycontainer:1>

此外,还有一个拼写错误。您忘记用双引号关闭类标记。

我在这里修复了它:

var containername = ".replycontainer:" + postId;
...
<div class="replycontainer:1">

您在中错过了"

class="replycontainer:1

如果是实际的代码。正如我所知,id和class属性中不赞成使用":"符号。

我不认为load()中的值与Javascript/Jquery有关。

$(containername).load("/Post/Comment");  //MVC Action pointer

load()只能在页面加载期间运行一些javascript。但是您正在尝试在客户端脚本上运行服务器脚本。请看一下。