Javascript JQuery展开页面的所有可折叠部分(来自外部网站)
该页面包含多个部分。每个部分都由一个TD块表示(请参见下面的代码),实际页面将显示一个“>”图标(悬停在其上显示a href:javascript:void(0)),当手动单击时,它将通过从SPAN块对端点进行POST调用来扩展该部分Javascript JQuery展开页面的所有可折叠部分(来自外部网站),javascript,jquery,amazon,Javascript,Jquery,Amazon,该页面包含多个部分。每个部分都由一个TD块表示(请参见下面的代码),实际页面将显示一个“>”图标(悬停在其上显示a href:javascript:void(0)),当手动单击时,它将通过从SPAN块对端点进行POST调用来扩展该部分 <td id="abc-parent" data-column="parent" data-row="abc" class="mt-cell mt-center"> <a href="javascript:void(0)"> <
<td id="abc-parent" data-column="parent" data-row="abc" class="mt-cell mt-center">
<a href="javascript:void(0)">
<span class="a-declarative" data-action="myitable-fetch-rows" data-myitable-fetch-rows="{"endpoint":"/hz/inventory/variation?parentRecord=abc","rowId":"abc"}">
<div class="mt-variation-icon mt-variation-expand"/>
</span>
</a></td>
为所有可扩展区域创建一个全局类
.active
(确保它们都有它,即使您必须在另一个class=“另一个active”
之后添加它)
确保.active
为展开状态。然后,像下面这样称呼它
$('.item').toggleClass('active');
如果出于某种原因,您无法更改标记以创建全局活动类,则可能必须使用所有“扩展选择器”调用该类(但不应该是这样做的原因) 在这方面寻求帮助;这是一个很酷的链接,应该可以帮助你;但您所要做的就是在函数中定义上述内容,然后使用
.click()
事件触发
更新我刚刚通过下面的评论部分发送了另一个指针;但是您知道可以通过jQuery将类
.active
添加到共享相同类或ID的所有切换中。但是您仍然需要研究如何在此外部网站上构建切换,以便将扩展状态与新的.active
状态合并。没有办法知道这一点,因为你没有发布代码;但是它通常很容易在.css
中找到
$('td').find('.mt-center').addClass('active');
我认为您正在寻找“触发器”功能: .trigger(eventType[,extraParameters])说明:执行附加到给定事件类型的匹配元素的所有处理程序和行为 因此,上面的代码应该类似于:
$('.a-declarative').trigger('click');
使用时请自行承担风险,因为这不是一种非常稳定的触发事件的方式。感谢您的快速回答,但不幸的是,我根本无法控制页面(它不是我的网站)。。你在上面看到的代码是我必须处理的。你必须弄清楚这些切换的扩展状态是如何发生的(使用chrome开发者工具查看源代码和检查),它通常是按类进行的。找到那门课,抓住它,按照我的建议叫它!创建一个作为书签的点击函数很容易,找到切换是如何操作的,以及是什么导致它们在你的函数中打开和复制。非常好的附加信息!虽然这并没有完全解决我的问题。我把你的答案投了赞成票,因为它可能对别人有帮助。这就成功了!它确实会让我看到一个空白页面,但如果我在最后添加了一个无效字符(不要问我为什么…),它就能够展开所有部分并保持在同一页面上!谢谢javascript:jQuery('.a-declarative').trigger('click');x
$('td').find('.mt-center').addClass('active');
$('.a-declarative').trigger('click');