2016-04-12 63 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不執行。 –