Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery展开页面的所有可折叠部分(来自外部网站)_Javascript_Jquery_Amazon - Fatal编程技术网

Javascript JQuery展开页面的所有可折叠部分(来自外部网站)

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块表示(请参见下面的代码),实际页面将显示一个“>”图标(悬停在其上显示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)">
    <span class="a-declarative" data-action="myitable-fetch-rows" data-myitable-fetch-rows="{&quot;endpoint&quot;:&quot;/hz/inventory/variation?parentRecord=abc&quot;,&quot;rowId&quot;:&quot;abc&quot;}">
        <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');