我知道浏览器不支持虚假点击。我知道我可以回去开始重构所有突兀的javascript ......但这不会发生。有了这样说......
继承人的事情。
我有一堆代表偏好的链接。 EX :(这是渲染内容。下面创建的实际jsp看起来并不好玩。)
<table id="snTabsAvail" class="content" cellspacing="5" cellpadding="1" border="0" align="center">
<tbody>
<tr>
<td id="Serial Number_Engine Test_0" class="tbutton" width="95px" nowrap="" height="55px" style="background-color:lime">
<a href="javascript:tabToggle('Serial Number', 'Engine Test', spref, 0, tabPicked, tabAvailable, 'Failed to update your tab preference, please try again later'); ">
</td>
<td id="Serial Number_Machine Test_1" class="tbutton" width="95px" nowrap="" height="55px" style="background-color:lime">
<a href="javascript:tabToggle('Serial Number', 'Machine Test', spref, 1, tabPicked, tabAvailable, 'Failed to update your tab preference, please try again later'); ">
</td>
...
这些调用表示Ajax调用,它在服务器上设置首选项。我想要包括一个选择全部和一个取消选择所有,所以我不必去单独点击所有这些。我知道我不能这样做
$('#snTabsAvail td[style=background-color:silver] a').click();
由于虚假点击问题。
由于这些点击代表javascript ajax调用,我试图弄清楚如何点击我想要的选择,取消选择。链接所在的单元格代表“标签”,您可以通过它们的背景颜色来判断哪些是...这就是为什么我说,这个表格中任何具有未选择背景颜色的单元格,获得锚点,然后单击,这不起作用。
有关如何获取所有锚点并假冒点击它们的任何想法?是的..我的意思是程序化。
答案 0 :(得分:1)
你可以在每个链接的href属性上使用eval()(不确定是否必须删除“javascript:”部分),如下所示:
eval($('#snTabsAvail a').attr('href').substring(11));
编辑:当然这是针对单个链接的,您必须遍历$('#snTabsAvail a')返回的元素以获得完整的解决方案。