在相同的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