2016-04-12 78 views
0
比较

我的功能如下:似乎无法获取到src =图像文件名中MonkeyScript

function mySound() {           
var eventTable = document.querySelector("#eventContent"); 
var eventCella=eventTable.getElementsByClassName("ago_eventlist_activity"); 
var eventCellb = eventTable.getElementsByClassName("missionFleet"); 

for (var i = 0; i < eventTable.rows.length-1; i++) { 
var cella = eventCella[i]; 
var cellb = eventCellb[i]; 
if (cella.src == "Activity15.gif" && cellb.src == "60a018ae3104b4c7e5af8b2bde5aee.gif") 
{theSound = probeSound; oaPlaySound();} 
if (cella.img == "Activity15.gif" && cellb.img == "cd360bccfc35b10966323c56ca8aac.gif") 
{theSound = attackSound; oaPlaySound();} 
      if (cella.img == "Activity15.gif" && cellb.img == "575dfbbe877f58d6c09120ffbcaabe.gif") {theSound = attackSoundRIP; oaPlaySound();} 
    } /* for i */ 
} 

*我不能使用... byid导致它似乎不具备一? 我包含一个链接到FireFox检查元素,所以你可以看到我可以看到,以尝试使这项工作。

InspectElement的图片:

Image of InspectElement

任何帮助将是有益的,我只是想为朋友编写这一点,我真的不知道java的根本。 谢谢

回答

0

Java和javascript是有区别的。我猜你的意思是JavaScript,因为这是代码似乎是。

没有与代码

  • cella.img不靶向细胞内的图像的几个问题,你需要先针对图像,或使用发现细胞内的图像。

    var eventCella = eventTable.querySelector(".missionFleet img"); 
    

    var imgb = eventCellb[i].querySelector("img"); 
    
  • 是否ago_eventlist_activity细胞甚至包含一个图像?截图中似乎没有一个。

  • 检查src需要包括完整的URL,除非您使用indexOf图像...

    if (imgb.src.indexOf('60a018ae3104b4c7e5af8b2bde5aee.gif') > -1) { 
        // do something 
    } 
    

我希望帮助。请在下次您提问时,加入HTML而不是截图。或者更好的是,包含一个演示(jsFiddle),它可以显示问题,因为它使其他人更容易提供帮助。不是每个人都会花时间或努力。

+0

好的,是的,是的,是的,ago_evetlist_activity确实包含一个img src,它也是表/行的位置0,另一个在行的位置3(如果它们存在(它们并不总是存在),如果存在ago_eventlist_activity,的其他3将在同一排的位置3根据missionFleet img src将选择我需要播放的声音 - 至少这是我正在尝试完成,我欣赏的输入,我会试验你提供了一个问题,你说src必须匹配整个url? –

+0

在我修改的代码中,似乎只有文件名w/o甚至使用了.gif,所以必须有一种方法来缩短它只是文件名本身? –

+0

UpDate:我使用了:> var imga = eventCella [i] .querySelector(“img”); <在循环中,我插入警报以查看它在哪里导致它失败的r代码的est不执行。 –