0

标题有点混乱,所以让我更好地解释一下我遇到的问题。

我需要从页面中提取 HTML 的特定部分。这部分代码位于默认情况下隐藏“页面加载”的 div 内。您必须单击该 div 才能显示该部分代码。

现在,我需要使用带有对页面的纯 AJAX 请求或 YQL 的 javascript/jquery 脚本获取此代码,但问题是:如何“模拟”该 div 上的点击?

如何仅使用代码切换该 div 以访问其中的代码?

顺便说一句,请求来自同一个域,所以跨域 AJAX 没有问题。

谢谢!

4

4 回答 4

1

据我了解,如果您这样做, $('#hiddenElementID').html()将返回它的内容,或者即使$('#hiddenElementID').text()它是否隐藏。

但是如果你真的必须模拟点击然后做$('#hiddenElementID').click()

并切换使用您自己的功能并执行$('#hiddenElementID').hide()$('#hiddenElementID').show()

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

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

于 2012-09-07T09:26:08.863 回答
1

也许你应该试试 Ajaxsuccess:event

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

因为操纵 DOM 元素触发 Fake Event 是个坏主意。

于 2012-09-07T10:52:55.070 回答
1

您可以使用 Jquery .click

$("#Id_Of_the_Div_you_want_to_click").click();
于 2012-09-07T08:44:17.557 回答
0

您可以像这样模拟点击事件:

$("#div").click()

在我看来,您正试图从另一个页面获取数据。数据在点击事件后编译。您可以尝试以下方法:

  • AJAX 获取包含所需数据的页面
  • 将页面呈现为隐藏iframe在您的页面中
  • 模拟嵌套页面的点击事件产生数据
  • 访问您想要的位并丢弃iframe内容。

如果以后有时间,我会自己尝试一下,看看是否可以完成。

于 2012-09-07T08:44:01.050 回答