找到最接近的tr ...脚本搜索祖先?

时间:2014-11-05 11:42:20

标签: javascript

有点困惑。我正在尝试搜索iframe的内容,然后点击其中的链接。链接是“攻击”。

<script>
setTimeout(function() { window.location.reload(); }, 1000); // 1 seconds, e.g.

$(document).ready(function() {
$('a[href*="5562089"]', $("game").contents()).closest('tr').find('.fightActionInnerInner').parent("a").trigger("clic    k");
});
</script>


<iframe src="http://vl.storm8.com/hitlist.php" width="100%" height="800px" id="game"></iframe>

以下是我想与之互动的iframe中的HTML。

<td class="fightMobster">
    <div>
        <a href="/profile.php?puid=5562089&formNonce=34947b8ffc73e8ceafabae71…94f&setTab1Badge=&h=2d55f5781bfe888b47d7f5c9dbc27df2f663347f">
            Lord Pookie
        </a>
    </div>
    <div>
        Lvl 212 Daywalker
    </div>
</td>
<td class="fightSp"></td>
<td class="fightMobSize">
    <span class="cash">
        <span style="white-space: nowrap;">
            <img width="15" height="14" style="padding-right:2px" src="http://static.storm8.com/zl/images/flesh.png?v=330"></img>
            15,300
        </span>
    </span>
</td>
<td class="fightSpLg"></td>
<td class="fightAction">
    <script>
        function fsb99995143() {
            var b=…
    </script>
    <a onclick="return fsb99995143();" href="/hitlist.php?tab=fight.php&action=fight&hitlistId=99995143&f…1b4b9390bee9a194f&h=284e4fe4946e6fb8af3a662f4583454eebc8bd23">
        <div class="fightActionInner">
            <div class="fightActionInnerInner">
                Attack
            </div>

我很困惑。该脚本刷新页面,但似乎不想点击那里的链接。我究竟做错了什么?

2 个答案:

答案 0 :(得分:0)

以下行无用,请将其删除:

document.getElementById('game').contentWindow.document.body.innerHTML;

首先,您不是在查看iframe中的代码,而是在当前窗口中选择元素。所以你需要改为代码看看iframe。

其次,contains selector查看文本,而不是属性。您想使用attribute contains selector

更改

$('a:contains("5562089")')

$('a[href*="5562089"]', $("game").contents())

我不确定你为什么单击div而不是实际链接本身。

$('a[href*="5562089"]', $("game").contents()).closest('tr').find('.fightActionInnerInner').parent("a").trigger("click");

并希望iframe在您尝试单击时完全加载。如果函数的名称没有改变,你可以调用函数

$('#game')[0].contentWindow.fsb99995143();

答案 1 :(得分:0)

如果链接包含以下内容,请尝试以下代码点击链接:

var th = $("a").attr("href");
var st = "5562089";
if(th.indexOf(st)!=-1){
    //Do your implementation
}