在相同的HTML页面多次加载后的页面是活动我有一个主要的页面,看起来像这样:问题identifing同一文档
<div id="main">
<div id="content1"/>
<div id="content2"/>
</div>
我使用AJAX动态加载内容1和来自同一个文件的content2(比如Content.aspx)。 。
<div id="content">
<input id="content_data" type="hidden" value="whatever"/>
</div>
由于在内容1和内容2共享元素的id的HTML,jQuery的总是发现内容1部分:
$( “#content_data”)VAL();
但是,如果我用的是父母的div我能得到我想要的数据:。
$( “#内容1”)找到( “#content_data”)VAL();
问题:
给定一个Content.aspx页面,该页面(在客户端)怎么能知道它是div容器是什么吗?
在Page_load(服务器端)我知道页面索引,我可以保存在页面上的隐藏字段,但在客户端,当我运行jquery获取隐藏索引时我不知道要查看哪个父级div在 - 除非我忽略了某些事情(很可能),这是一个22级的情况。
如果我可以得到一个元素的持有人,我可以查询它的父母,并确定它在哪个内容div,但我不能得到那么远,因为得到一个元素,我需要使用jquery,它总是发现第一个内容div中的元素。所以客户端我从一开始就不知道我在哪里。
首先这是一个很好的方式来完成我想要的,两个或更多div加载相同的页面(但不同的数据)存在于同一个文件?
另一个我想到的方法是让multipe content.aspx页面,content1.apsx,content2.aspx等等...每个都相同,但是根据它的序号位置使用唯一的元素id。
我觉得这样会更安全,但需要更多的维护,以便随着事情的变化保持所有页面的同步。
如果您想知道,我试图完成的具体用例是在一个页面的Web应用程序中同时打开多个客户页面。
如果ID是问题,那么使用类,如果这就是问题的/问题是关于 –
这是错误的$(“#content1”)。find(“#content_data”)。val();从片段中,content_data在内容中不是content1 – Bindrid
好吧,它是一个难以解释的问题,我遇到的问题是在页面加载完成页面工作(例如加载数据)之后运行的JavaScript,不'知道'它应该在哪个页面上工作。 javascript对于所有页面都是通用的,即使我将它包含在单独的页面中也是如此。 – kpg