2016-04-12 8 views
0

Meine Funktion zu vergleichen ist wie folgt:Kann nicht auf die src zu bekommen scheinen = Bilddateinamen in 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 */ 
} 

* ich nicht verwenden können ... byid verursachen es nicht zu haben scheint ein? Ich schließe einen Link zum FireFox inspect-Element an, damit Sie sehen können, was ich sehen kann, um dies zu erreichen.

Bild von InspectElement:

Image of InspectElement

Jede Hilfe wäre hilfreich, ich bin nur versucht, dies für einen Freund zu codieren, und ich wirklich überhaupt nicht wissen, java. Danke

Antwort

0

Es gibt einen Unterschied zwischen Java und Javascript. Ich vermute, du meinst Javascript, weil das der Code zu sein scheint.

Es gibt ein paar Probleme mit dem Code

  • cella.img das Bild nicht innerhalb der Zelle ausrichten, müssen Sie das Bild zunächst zum Ziel, oder verwenden Sie das Bild im Innern der Zelle finden.

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

    oder

    var imgb = eventCellb[i].querySelector("img"); 
    
  • Ist die ago_eventlist_activity Zelle selbst ein Bild enthalten? Im Screenshot scheint es keinen zu geben.

  • das Bild Prüfung src die vollständige URL umfassen muss, es sei denn, Sie ein indexOf verwenden ...

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

Ich hoffe, das hilft. Bitte geben Sie das nächste Mal, wenn Sie eine Frage stellen, den HTML-Code anstelle eines Screenshots ein. Oder noch besser, fügen Sie eine Demo (jsFiddle) hinzu, die das Problem anzeigt, weil es anderen die Hilfe erleichtert. Nicht jeder wird sich Zeit nehmen oder sich anstrengen.

+0

Ok, ja ago_evetlist_activity enthält eine img src auch es ist Position 0 der Tabelle/Zeile die andere ist in Position 3 der Zeile (wenn sie vorhanden sind (Sie sind nicht immer da) Wenn die ago_eventlist_activity dann vorhanden ist Die anderen 3 werden in Position 3 der gleichen Reihe sein.In Abhängigkeit von der Mission wird Fleet img src den Sound auswählen, den ich spielen muss- zumindest das ist es, was ich zu erreichen versuche.Ich schätze die Eingabe, und ich werde experimentieren Eine Frage, die Sie gesagt haben, dass die Quelle müsste die gesamte URL übereinstimmen? –

+0

In dem Code, den ich ändern, scheint es nur der Dateiname w/o sogar die .gif wurde verwendet? So muss es eine Möglichkeit zu verkürzen es auf nur den Dateinamen selbst? –

+0

UpDate: Ich habe die:> var imga = EreignisCella [i] .querySelector ("img");

Verwandte Themen