2012-09-07 152 views
0

標題有點令人困惑,所以讓我更好地解釋我遇到的問題是什麼。從頁面中代碼的隱藏部分獲取HTML

我需要從頁面中提取HTML的某個部分。這部分代碼位於默認情況下隱藏的「頁面加載」中。你必須點擊那個div才能使這部分代碼出現。

現在,我需要得到這個代碼與JavaScript或jquery腳本與頁面或YQL的純AJAX請求,但問題是:如何「模擬」點擊該div?

我如何才能使該代碼與代碼切換,以便訪問其中的代碼?

順便說一下,請求來自同一個域,所以跨域AJAX沒有問題。

謝謝!

+0

ajax如何進入它?你有沒有試過$(「#div」)。click(); – Manatok

+0

我使用AJAX,因爲請求來自同一個域內的其他頁面。現在我知道我可以使用.click事件,但在AJAX請求之前是可交叉頁面嗎?我基本上需要從page1.html加載page2.html隱藏的div – waivy

回答

0

您可以模擬點擊事件,像這樣:

$("#div").click() 

這聽起來好像你想從另一個頁面獲取數據。數據在點擊事件後編譯。你可以嘗試以下方法:

  • AJAX得到的頁面與所需的數據
  • 渲染頁面進入hidded iframe自己的網頁中嵌套頁面上
  • 模擬點擊事件產生的數據
  • 訪問您想要的位並丟棄iframe內容。

如果我抽了一些時間,我會自己嘗試一下,看看能否做到。

+0

謝謝你的答案!但是,在AJAX請求中可行嗎?我的意思是,我從另一個頁面請求該部分的代碼,所以我需要模擬該頁面的點擊,然後繼續處理請求。那可能嗎? – waivy

+0

僅僅因爲它隱藏並不意味着你不應該能夠從中獲取HTML。您可能甚至不需要模擬點擊。 – Aesthete

+0

其實我是這樣做的,因爲在使用Firebug和Chrome的開發工具查找頁面中的代碼時,它不會顯示,直到我點擊。這只是一個空格。 – waivy

1

您可以使用jQuery。點擊

$("#Id_Of_the_Div_you_want_to_click").click(); 
+0

謝謝你的回答!但是,在AJAX請求中可行嗎?我的意思是,我從另一個頁面請求該部分的代碼,所以我需要模擬該頁面的點擊,然後繼續處理請求。那可能嗎? – waivy

1

至於我的理解是,如果你這樣做 $('#hiddenElementID').html()將返回它的內容,甚至$('#hiddenElementID').text()如果其隱藏。

但如果你真的必須模擬點擊然後做$('#hiddenElementID').click()

還可以切換使用自己的功能,做$('#hiddenElementID').hide()$('#hiddenElementID').show()

或者使用$('#hiddenElementID').toggle()

http://api.jquery.com/toggle/

1

也許你應該嘗試Ajax success:event

function(data){ 
    //Convert Data to jQuery Object 
    var element = $(data); 
    element.find('#HiddenDiv').show(); 
} 

因爲操縱DOM元素的觸發假事件是一個壞主意。

相關問題